--- zzzz-none-000/linux-2.6.19.2/drivers/usb/serial/usb-serial.c 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/drivers/usb/serial/usb-serial.c 2008-07-14 15:09:16.000000000 +0000 @@ -607,6 +607,20 @@ id = usb_match_id(iface, t->id_table); if (id != NULL) { dbg("descriptor matches"); + + /* WK AVM Patch: don't use Mass Storage */ + if (iface->cur_altsetting->desc.bInterfaceClass == 8) { + #define HUAWEI_VENDOR_ID 0x12D1 + + if (id->idVendor == HUAWEI_VENDOR_ID) { + struct usb_device *dev = interface_to_usbdev (iface); + info("sending switch command to huawei cd-rom"); + usb_control_msg(dev, usb_sndctrlpipe(dev, 0), + USB_REQ_SET_FEATURE,USB_TYPE_STANDARD |USB_RECIP_DEVICE,0x0001,0,NULL,0,USB_CTRL_SET_TIMEOUT); + info("sending switch command done"); + } + return NULL; + } return t; } }