uwb: fix device quirk on big-endian hosts
PATCH 1/1 uwb: fix device quirk on big-endian hosts
Add missing endianness conversion when using the USB device-descriptor idProduct field to apply a hardware quirk.
Fixes 1ba47da52712 ("uwb: add the i1480 DFU driver")
Cc stable <[email protected]> # 2.6.28
Signed-off-by Johan Hovold <[email protected]>
--- drivers/uwb/i1480/dfu/usb.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
drivers/uwb/i1480/dfu/usb.c +3 -2
@@ -341,6 +341,7 @@ int i1480_usb_cmd(struct i1480 *i1480, const char *cmd_name, size_t cmd_size)static int i1480_usb_probe (struct usb_interface *iface,const struct usb_device_id *id) { +struct usb_device *udev =interface_to_usbdev (iface);struct i1480_usb *i1480_usb;struct i1480 *i1480;struct device *dev = &iface->dev;
@@ -352,8 +353,8 @@ int i1480_usb_probe(struct usb_interface *iface, const struct usb_device_id *id) iface->cur_altsetting->desc.bInterfaceNumber); goto error; } -if (iface->num_altsetting >1 - &&interface_to_usbdev (iface)->descriptor.idProduct ==0xbabe ) { +if (iface->num_altsetting >1 && +le16_to_cpu (udev->descriptor.idProduct) ==0xbabe ) {/* Need altsetting #1 [HW QUIRK] or EP1 won't work */ result =usb_set_interface (interface_to_usbdev (iface),0 ,1 );if (result <0 )
Signature · 1 line
2.13.0