Hi,

ok, let's start.

On Wed, Dec 12, 2012 at 06:20:33PM +0800, fangxiaozhi 00110321 wrote:
> From: fangxiaozhi <huana...@huawei.com>
> 
> 1. To optimize the match rules for the Huawei USB storage devices. Avoid to 
> load USB storage driver for modem interface with Huawei devices.
> 2. Add to support new switch command for new Huawei USB dongles.

first of all you're doing a whole lot more than these two things and
your commit log is a lot over 72 characters.

> Signed-off-by: fangxiaozhi <huana...@huawei.com>
> -------------------------------------------------------------------------------------------------
> diff -uprN linux-3.7_bak/drivers/usb/storage/initializers.c 
> linux-3.7/drivers/usb/storage/initializers.c
> --- linux-3.7_bak/drivers/usb/storage/initializers.c  2012-12-11 
> 09:56:11.000000000 +0800
> +++ linux-3.7/drivers/usb/storage/initializers.c      2012-12-12 
> 16:26:53.000000000 +0800
> @@ -92,8 +92,8 @@ int usb_stor_ucr61s2b_init(struct us_dat
>       return 0;
>  }
>  
> -/* This places the HUAWEI E220 devices in multi-port mode */
> -int usb_stor_huawei_e220_init(struct us_data *us)
> +/* This places the HUAWEI usb dongles in multi-port mode */
> +static int usb_stor_huawei_feature_init(struct us_data *us)

renaming this function doesn't look like is part of $SUBJECT

>  {
>       int result;
>  
> @@ -104,3 +104,60 @@ int usb_stor_huawei_e220_init(struct us_
>       US_DEBUGP("Huawei mode set result is %d\n", result);
>       return 0;
>  }
> +
> +/*Find the supported Huawei USB dongles*/

comment style is wrong, you miss a space after /* and before */

> +static int usb_stor_huawei_dongles_pid(struct us_data *us)
> +{
> +     int ret = 0;
> +     struct usb_interface_descriptor *idesc = NULL;

could add a blank line here to aid readability

> +     idesc = &us->pusb_intf->cur_altsetting->desc;
> +     if (idesc != NULL && idesc->bInterfaceNumber == 0) {
> +                     if ((us->pusb_dev->descriptor.idProduct >= 0x1401 && 
> us->pusb_dev->descriptor.idProduct <= 0x1600)
> +                                     || (us->pusb_dev->descriptor.idProduct 
> >= 0x1c02 && us->pusb_dev->descriptor.idProduct <= 0x2202)
> +                                     || (us->pusb_dev->descriptor.idProduct 
> == 0x1001)
> +                                     || (us->pusb_dev->descriptor.idProduct 
> == 0x1003)
> +                                     || (us->pusb_dev->descriptor.idProduct 
> == 0x1004)) {

clearly you didn't even run checkpatch.pl here.

> +                             if (us->pusb_dev->descriptor.idProduct >= 
> 0x1501 
                                                                                
^
                                                                                
trailing
                                                                                
whitespace

> +                                     && us->pusb_dev->descriptor.idProduct 
> <= 0x1504) {
> +                                     ret = 0;

ret is already initialized to zero, why do it again ?

> +                             } else {
> +                                     ret = 1;
> +                             }
> +                     }
> +             }
> +     return ret;
> +}
> +
> +static int usb_stor_huawei_scsi_init(struct us_data *us)
> +{
> +     int result = 0;
> +     int act_len = 0;
> +     unsigned char rewind_cmd[] = {0x11, 0x06, 0x20, 0x00, 0x00, 0x01, 0x00, 
> 0x00, 
                                                                                
     ^
                                                                                
     trailing
                                                                                
     whitespace

> +                                   0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
> 0x00};
> +     struct bulk_cb_wrap bcbw = {0};
> +     bcbw.Signature = cpu_to_le32(US_BULK_CB_SIGN);
> +     bcbw.Tag = 0;
> +     bcbw.DataTransferLength = cpu_to_le32(0);
> +     bcbw.Flags = bcbw.Lun = 0;
> +     bcbw.Length = sizeof(rewind_cmd);
> +     memset(bcbw.CDB, 0, sizeof(bcbw.CDB));

the entire structure is already initialized to zero, no ?

> +     memcpy(bcbw.CDB, rewind_cmd, sizeof(rewind_cmd));
> +
> +     result = usb_stor_bulk_transfer_buf (us, us->send_bulk_pipe, &bcbw, 31, 
> &act_len);
> +     US_DEBUGP("usb_stor_bulk_transfer_buf performing result is %d, transfer 
> the actual length=%d\n", result, act_len);

waaaaaay over 80-characters. Run checkpatch.pl

> +     return result;
> +}
> +
> +int usb_stor_huawei_init(struct us_data *us)
> +{
> +     int result = 0;
> +     if(usb_stor_huawei_dongles_pid(us)) {
> +             if ((us->pusb_dev->descriptor.idProduct >= 0x1446)) {
> +                     result = usb_stor_huawei_scsi_init(us);
> +             } else {
> +                     result = usb_stor_huawei_feature_init(us);
> +             }

read Documentation/CodingStyle, you'll see this is wrong.

> +     }
> +     return result;
> +}
> diff -uprN linux-3.7_bak/drivers/usb/storage/initializers.h 
> linux-3.7/drivers/usb/storage/initializers.h
> --- linux-3.7_bak/drivers/usb/storage/initializers.h  2012-12-11 
> 09:56:11.000000000 +0800
> +++ linux-3.7/drivers/usb/storage/initializers.h      2012-12-12 
> 11:43:58.000000000 +0800
> @@ -46,5 +46,5 @@ int usb_stor_euscsi_init(struct us_data 
>   * flash reader */
>  int usb_stor_ucr61s2b_init(struct us_data *us);
>  
> -/* This places the HUAWEI E220 devices in multi-port mode */
> -int usb_stor_huawei_e220_init(struct us_data *us);
> +/* This places the HUAWEI usb dongles in multi-port mode */
> +int usb_stor_huawei_init(struct us_data *us);
> diff -uprN linux-3.7_bak/drivers/usb/storage/unusual_devs.h 
> linux-3.7/drivers/usb/storage/unusual_devs.h
> --- linux-3.7_bak/drivers/usb/storage/unusual_devs.h  2012-12-11 
> 09:56:11.000000000 +0800
> +++ linux-3.7/drivers/usb/storage/unusual_devs.h      2012-12-12 
> 11:47:34.000000000 +0800
> @@ -1527,335 +1527,10 @@ UNUSUAL_DEV(  0x1210, 0x0003, 0x0100, 0x
>  /* Reported by fangxiaozhi <huana...@huawei.com>
>   * This brings the HUAWEI data card devices into multi-port mode
>   */
> -UNUSUAL_DEV(  0x12d1, 0x1001, 0x0000, 0x0000,
> +UNUSUAL_VENDOR_INTF(  0x12d1, 0x08, 0x06, 0x50,
>               "HUAWEI MOBILE",
>               "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1003, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1004, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1401, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1402, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1403, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1404, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1405, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1406, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1407, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1408, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1409, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x140A, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x140B, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x140C, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x140D, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x140E, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x140F, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1410, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1411, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1412, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1413, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1414, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1415, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1416, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1417, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1418, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1419, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x141A, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x141B, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x141C, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x141D, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x141E, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x141F, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1420, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1421, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1422, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1423, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1424, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1425, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1426, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1427, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1428, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1429, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x142A, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x142B, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x142C, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x142D, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x142E, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x142F, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1430, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1431, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1432, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1433, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1434, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1435, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1436, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1437, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1438, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x1439, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x143A, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x143B, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x143C, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x143D, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x143E, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> -             0),
> -UNUSUAL_DEV(  0x12d1, 0x143F, 0x0000, 0x0000,
> -             "HUAWEI MOBILE",
> -             "Mass Storage",
> -             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
> +             USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_init,
>               0),
>  
>  /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */
> diff -uprN linux-3.7_bak/drivers/usb/storage/usb.c 
> linux-3.7/drivers/usb/storage/usb.c
> --- linux-3.7_bak/drivers/usb/storage/usb.c   2012-12-11 09:56:11.000000000 
> +0800
> +++ linux-3.7/drivers/usb/storage/usb.c       2012-12-12 11:46:06.000000000 
> +0800
> @@ -120,6 +120,17 @@ MODULE_PARM_DESC(quirks, "supplemental l
>       .useTransport = use_transport,  \
>  }
>  
> +#define UNUSUAL_VENDOR_INTF(idVendor, cl, sc, pr, \
> +                 vendor_name, product_name, use_protocol, use_transport, \
> +                 init_function, Flags) \
> +{ \
> +     .vendorName = vendor_name,      \
> +     .productName = product_name,    \
> +     .useProtocol = use_protocol,    \
> +     .useTransport = use_transport,  \
> +     .initFunction = init_function,  \
> +}

not part of $SUBJECT, should be a separate patch.

> +
>  static struct us_unusual_dev us_unusual_dev_list[] = {
>  #    include "unusual_devs.h"
>       { }             /* Terminating entry */
> @@ -131,6 +142,7 @@ static struct us_unusual_dev for_dynamic
>  #undef UNUSUAL_DEV
>  #undef COMPLIANT_DEV
>  #undef USUAL_DEV
> +#undef UNUSUAL_VENDOR_INTF
>  
>  #ifdef CONFIG_LOCKDEP
>  
> diff -uprN linux-3.7_bak/drivers/usb/storage/usual-tables.c 
> linux-3.7/drivers/usb/storage/usual-tables.c
> --- linux-3.7_bak/drivers/usb/storage/usual-tables.c  2012-12-11 
> 09:56:11.000000000 +0800
> +++ linux-3.7/drivers/usb/storage/usual-tables.c      2012-12-12 
> 11:47:18.000000000 +0800
> @@ -41,6 +41,18 @@
>  #define USUAL_DEV(useProto, useTrans) \
>  { USB_INTERFACE_INFO(USB_CLASS_MASS_STORAGE, useProto, useTrans) }
>  
> +/*Define the device is matched with Vendor ID and interface descriptors*/

missing spaces.

> +#define UNUSUAL_VENDOR_INTF(id_vendor, cl, sc, pr, \
> +                    vendorName, productName,useProtocol, useTransport, \
> +                    initFunction, flags) \
> +{ \
> +  .match_flags = USB_DEVICE_ID_MATCH_INT_INFO | USB_DEVICE_ID_MATCH_VENDOR, \
> +  .idVendor    = (id_vendor), \
> +  .bInterfaceClass = (cl), \
> +  .bInterfaceSubClass = (sc), \
> +  .bInterfaceProtocol = (pr), \
> +  .driver_info = (flags)}

this should be properly indented with tabs.

> +
>  struct usb_device_id usb_storage_usb_ids[] = {
>  #    include "unusual_devs.h"
>       { }             /* Terminating entry */
> @@ -50,6 +62,7 @@ MODULE_DEVICE_TABLE(usb, usb_storage_usb
>  #undef UNUSUAL_DEV
>  #undef COMPLIANT_DEV
>  #undef USUAL_DEV
> +#undef UNUSUAL_VENDOR_INTF
>  
>  /*
>   * The table of devices to ignore
>  
> 
> 
> ******************************************************************************************
>  This email and its attachments contain confidential information from HUAWEI, 
> which is intended only for the person or entity whose address is listed 
> above. Any use of the information contained here in any way (including, but 
> not limited to, total or partial disclosure, reproduction, or dissemination) 
> by persons other than the intended recipient(s) is prohibited. If you receive 
> this email in error, please notify the sender by phone or email
>  immediately and delete it!
>  
> *****************************************************************************************

this footer should be removed from your mail when you send mails to
public mailing lists.

-- 
balbi

Attachment: signature.asc
Description: Digital signature

Reply via email to