summary refs log tree commit diff
path: root/drivers/usb/storage/initializers.c
diff options
context:
space:
mode:
authorfangxiaozhi <huananhu@huawei.com>2008-10-15 14:15:36 +0800
committerGreg Kroah-Hartman <gregkh@suse.de>2008-10-22 10:05:28 -0700
commit1460e5e44cc5ecad7704f63b10dcb3a59d0e008b (patch)
tree3d7e5beae8df60dc2c29305e7c3e103c87f2da07 /drivers/usb/storage/initializers.c
parentbfd8408d68975759aba1b466af6f5388d7adb836 (diff)
downloadlinux-1460e5e44cc5ecad7704f63b10dcb3a59d0e008b.tar.gz
USB: support Huawei data card product IDs
In this patch, we want to do one thing: add more Huawei product IDs into the
USB driver. Then it can support  more Huawei data card devices. So to declare
the unusual device for new Huawei data card devices in unusual_devs.h and to
declare more new product IDs in option.c.

To modify the data value and length in the function of
usb_stor_huawei_e220_init in initializers.c That's because based on the USB
standard, while sending SET_FETURE_D to the device, it requires the
corresponding data to be zero, and its sending length also must be zero.  In
our old solution, it can be compatible with our WCDMA data card devices, but
can not support our CDMA data card devices.  But in this new solution, it can
be compatible with all of our data card devices.

Signed-off-by: fangxiaozhi <huananhu@huawei.com>
Signed-off-by: Phil Dibowitz <phil@ipom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

Diffstat (limited to 'drivers/usb/storage/initializers.c')
-rw-r--r--drivers/usb/storage/initializers.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/usb/storage/initializers.c b/drivers/usb/storage/initializers.c
index 4995bb595aef..2dd9bd4bff56 100644
--- a/drivers/usb/storage/initializers.c
+++ b/drivers/usb/storage/initializers.c
@@ -95,11 +95,10 @@ int usb_stor_huawei_e220_init(struct us_data *us)
 {
 	int result;
 
-	us->iobuf[0] = 0x1;
 	result = usb_stor_control_msg(us, us->send_ctrl_pipe,
 				      USB_REQ_SET_FEATURE,
 				      USB_TYPE_STANDARD | USB_RECIP_DEVICE,
-				      0x01, 0x0, us->iobuf, 0x1, 1000);
+				      0x01, 0x0, NULL, 0x0, 1000);
 	US_DEBUGP("usb_control_msg performing result is %d\n", result);
 	return (result ? 0 : -1);
 }