Commit 200e0d994d9d1919b28c87f1a5fb99a8e13b8a0f

Authored by fangxiaozhi
Committed by Greg Kroah-Hartman
1 parent 07c7be3d87

USB: storage: optimize to match the Huawei USB storage devices and support new switch command

1. Optimize the match rules with new macro for Huawei USB storage devices,
   to avoid to load USB storage driver for the modem interface
   with Huawei devices.
2. Add to support new switch command for new Huawei USB dongles.

Signed-off-by: fangxiaozhi <huananhu@huawei.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Showing 3 changed files with 78 additions and 331 deletions Side-by-side Diff

drivers/usb/storage/initializers.c
... ... @@ -92,8 +92,8 @@
92 92 return 0;
93 93 }
94 94  
95   -/* This places the HUAWEI E220 devices in multi-port mode */
96   -int usb_stor_huawei_e220_init(struct us_data *us)
  95 +/* This places the HUAWEI usb dongles in multi-port mode */
  96 +static int usb_stor_huawei_feature_init(struct us_data *us)
97 97 {
98 98 int result;
99 99  
... ... @@ -103,5 +103,77 @@
103 103 0x01, 0x0, NULL, 0x0, 1000);
104 104 US_DEBUGP("Huawei mode set result is %d\n", result);
105 105 return 0;
  106 +}
  107 +
  108 +/*
  109 + * It will send a scsi switch command called rewind' to huawei dongle.
  110 + * When the dongle receives this command at the first time,
  111 + * it will reboot immediately. After rebooted, it will ignore this command.
  112 + * So it is unnecessary to read its response.
  113 + */
  114 +static int usb_stor_huawei_scsi_init(struct us_data *us)
  115 +{
  116 + int result = 0;
  117 + int act_len = 0;
  118 + struct bulk_cb_wrap *bcbw = (struct bulk_cb_wrap *) us->iobuf;
  119 + char rewind_cmd[] = {0x11, 0x06, 0x20, 0x00, 0x00, 0x01, 0x01, 0x00,
  120 + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
  121 +
  122 + bcbw->Signature = cpu_to_le32(US_BULK_CB_SIGN);
  123 + bcbw->Tag = 0;
  124 + bcbw->DataTransferLength = 0;
  125 + bcbw->Flags = bcbw->Lun = 0;
  126 + bcbw->Length = sizeof(rewind_cmd);
  127 + memset(bcbw->CDB, 0, sizeof(bcbw->CDB));
  128 + memcpy(bcbw->CDB, rewind_cmd, sizeof(rewind_cmd));
  129 +
  130 + result = usb_stor_bulk_transfer_buf(us, us->send_bulk_pipe, bcbw,
  131 + US_BULK_CB_WRAP_LEN, &act_len);
  132 + US_DEBUGP("transfer actual length=%d, result=%d\n", act_len, result);
  133 + return result;
  134 +}
  135 +
  136 +/*
  137 + * It tries to find the supported Huawei USB dongles.
  138 + * In Huawei, they assign the following product IDs
  139 + * for all of their mobile broadband dongles,
  140 + * including the new dongles in the future.
  141 + * So if the product ID is not included in this list,
  142 + * it means it is not Huawei's mobile broadband dongles.
  143 + */
  144 +static int usb_stor_huawei_dongles_pid(struct us_data *us)
  145 +{
  146 + struct usb_interface_descriptor *idesc;
  147 + int idProduct;
  148 +
  149 + idesc = &us->pusb_intf->cur_altsetting->desc;
  150 + idProduct = us->pusb_dev->descriptor.idProduct;
  151 + /* The first port is CDROM,
  152 + * means the dongle in the single port mode,
  153 + * and a switch command is required to be sent. */
  154 + if (idesc && idesc->bInterfaceNumber == 0) {
  155 + if ((idProduct == 0x1001)
  156 + || (idProduct == 0x1003)
  157 + || (idProduct == 0x1004)
  158 + || (idProduct >= 0x1401 && idProduct <= 0x1500)
  159 + || (idProduct >= 0x1505 && idProduct <= 0x1600)
  160 + || (idProduct >= 0x1c02 && idProduct <= 0x2202)) {
  161 + return 1;
  162 + }
  163 + }
  164 + return 0;
  165 +}
  166 +
  167 +int usb_stor_huawei_init(struct us_data *us)
  168 +{
  169 + int result = 0;
  170 +
  171 + if (usb_stor_huawei_dongles_pid(us)) {
  172 + if (us->pusb_dev->descriptor.idProduct >= 0x1446)
  173 + result = usb_stor_huawei_scsi_init(us);
  174 + else
  175 + result = usb_stor_huawei_feature_init(us);
  176 + }
  177 + return result;
106 178 }
drivers/usb/storage/initializers.h
... ... @@ -46,6 +46,6 @@
46 46 * flash reader */
47 47 int usb_stor_ucr61s2b_init(struct us_data *us);
48 48  
49   -/* This places the HUAWEI E220 devices in multi-port mode */
50   -int usb_stor_huawei_e220_init(struct us_data *us);
  49 +/* This places the HUAWEI usb dongles in multi-port mode */
  50 +int usb_stor_huawei_init(struct us_data *us);
drivers/usb/storage/unusual_devs.h
... ... @@ -1527,335 +1527,10 @@
1527 1527 /* Reported by fangxiaozhi <huananhu@huawei.com>
1528 1528 * This brings the HUAWEI data card devices into multi-port mode
1529 1529 */
1530   -UNUSUAL_DEV( 0x12d1, 0x1001, 0x0000, 0x0000,
  1530 +UNUSUAL_VENDOR_INTF(0x12d1, 0x08, 0x06, 0x50,
1531 1531 "HUAWEI MOBILE",
1532 1532 "Mass Storage",
1533   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1534   - 0),
1535   -UNUSUAL_DEV( 0x12d1, 0x1003, 0x0000, 0x0000,
1536   - "HUAWEI MOBILE",
1537   - "Mass Storage",
1538   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1539   - 0),
1540   -UNUSUAL_DEV( 0x12d1, 0x1004, 0x0000, 0x0000,
1541   - "HUAWEI MOBILE",
1542   - "Mass Storage",
1543   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1544   - 0),
1545   -UNUSUAL_DEV( 0x12d1, 0x1401, 0x0000, 0x0000,
1546   - "HUAWEI MOBILE",
1547   - "Mass Storage",
1548   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1549   - 0),
1550   -UNUSUAL_DEV( 0x12d1, 0x1402, 0x0000, 0x0000,
1551   - "HUAWEI MOBILE",
1552   - "Mass Storage",
1553   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1554   - 0),
1555   -UNUSUAL_DEV( 0x12d1, 0x1403, 0x0000, 0x0000,
1556   - "HUAWEI MOBILE",
1557   - "Mass Storage",
1558   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1559   - 0),
1560   -UNUSUAL_DEV( 0x12d1, 0x1404, 0x0000, 0x0000,
1561   - "HUAWEI MOBILE",
1562   - "Mass Storage",
1563   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1564   - 0),
1565   -UNUSUAL_DEV( 0x12d1, 0x1405, 0x0000, 0x0000,
1566   - "HUAWEI MOBILE",
1567   - "Mass Storage",
1568   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1569   - 0),
1570   -UNUSUAL_DEV( 0x12d1, 0x1406, 0x0000, 0x0000,
1571   - "HUAWEI MOBILE",
1572   - "Mass Storage",
1573   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1574   - 0),
1575   -UNUSUAL_DEV( 0x12d1, 0x1407, 0x0000, 0x0000,
1576   - "HUAWEI MOBILE",
1577   - "Mass Storage",
1578   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1579   - 0),
1580   -UNUSUAL_DEV( 0x12d1, 0x1408, 0x0000, 0x0000,
1581   - "HUAWEI MOBILE",
1582   - "Mass Storage",
1583   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1584   - 0),
1585   -UNUSUAL_DEV( 0x12d1, 0x1409, 0x0000, 0x0000,
1586   - "HUAWEI MOBILE",
1587   - "Mass Storage",
1588   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1589   - 0),
1590   -UNUSUAL_DEV( 0x12d1, 0x140A, 0x0000, 0x0000,
1591   - "HUAWEI MOBILE",
1592   - "Mass Storage",
1593   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1594   - 0),
1595   -UNUSUAL_DEV( 0x12d1, 0x140B, 0x0000, 0x0000,
1596   - "HUAWEI MOBILE",
1597   - "Mass Storage",
1598   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1599   - 0),
1600   -UNUSUAL_DEV( 0x12d1, 0x140C, 0x0000, 0x0000,
1601   - "HUAWEI MOBILE",
1602   - "Mass Storage",
1603   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1604   - 0),
1605   -UNUSUAL_DEV( 0x12d1, 0x140D, 0x0000, 0x0000,
1606   - "HUAWEI MOBILE",
1607   - "Mass Storage",
1608   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1609   - 0),
1610   -UNUSUAL_DEV( 0x12d1, 0x140E, 0x0000, 0x0000,
1611   - "HUAWEI MOBILE",
1612   - "Mass Storage",
1613   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1614   - 0),
1615   -UNUSUAL_DEV( 0x12d1, 0x140F, 0x0000, 0x0000,
1616   - "HUAWEI MOBILE",
1617   - "Mass Storage",
1618   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1619   - 0),
1620   -UNUSUAL_DEV( 0x12d1, 0x1410, 0x0000, 0x0000,
1621   - "HUAWEI MOBILE",
1622   - "Mass Storage",
1623   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1624   - 0),
1625   -UNUSUAL_DEV( 0x12d1, 0x1411, 0x0000, 0x0000,
1626   - "HUAWEI MOBILE",
1627   - "Mass Storage",
1628   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1629   - 0),
1630   -UNUSUAL_DEV( 0x12d1, 0x1412, 0x0000, 0x0000,
1631   - "HUAWEI MOBILE",
1632   - "Mass Storage",
1633   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1634   - 0),
1635   -UNUSUAL_DEV( 0x12d1, 0x1413, 0x0000, 0x0000,
1636   - "HUAWEI MOBILE",
1637   - "Mass Storage",
1638   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1639   - 0),
1640   -UNUSUAL_DEV( 0x12d1, 0x1414, 0x0000, 0x0000,
1641   - "HUAWEI MOBILE",
1642   - "Mass Storage",
1643   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1644   - 0),
1645   -UNUSUAL_DEV( 0x12d1, 0x1415, 0x0000, 0x0000,
1646   - "HUAWEI MOBILE",
1647   - "Mass Storage",
1648   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1649   - 0),
1650   -UNUSUAL_DEV( 0x12d1, 0x1416, 0x0000, 0x0000,
1651   - "HUAWEI MOBILE",
1652   - "Mass Storage",
1653   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1654   - 0),
1655   -UNUSUAL_DEV( 0x12d1, 0x1417, 0x0000, 0x0000,
1656   - "HUAWEI MOBILE",
1657   - "Mass Storage",
1658   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1659   - 0),
1660   -UNUSUAL_DEV( 0x12d1, 0x1418, 0x0000, 0x0000,
1661   - "HUAWEI MOBILE",
1662   - "Mass Storage",
1663   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1664   - 0),
1665   -UNUSUAL_DEV( 0x12d1, 0x1419, 0x0000, 0x0000,
1666   - "HUAWEI MOBILE",
1667   - "Mass Storage",
1668   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1669   - 0),
1670   -UNUSUAL_DEV( 0x12d1, 0x141A, 0x0000, 0x0000,
1671   - "HUAWEI MOBILE",
1672   - "Mass Storage",
1673   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1674   - 0),
1675   -UNUSUAL_DEV( 0x12d1, 0x141B, 0x0000, 0x0000,
1676   - "HUAWEI MOBILE",
1677   - "Mass Storage",
1678   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1679   - 0),
1680   -UNUSUAL_DEV( 0x12d1, 0x141C, 0x0000, 0x0000,
1681   - "HUAWEI MOBILE",
1682   - "Mass Storage",
1683   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1684   - 0),
1685   -UNUSUAL_DEV( 0x12d1, 0x141D, 0x0000, 0x0000,
1686   - "HUAWEI MOBILE",
1687   - "Mass Storage",
1688   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1689   - 0),
1690   -UNUSUAL_DEV( 0x12d1, 0x141E, 0x0000, 0x0000,
1691   - "HUAWEI MOBILE",
1692   - "Mass Storage",
1693   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1694   - 0),
1695   -UNUSUAL_DEV( 0x12d1, 0x141F, 0x0000, 0x0000,
1696   - "HUAWEI MOBILE",
1697   - "Mass Storage",
1698   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1699   - 0),
1700   -UNUSUAL_DEV( 0x12d1, 0x1420, 0x0000, 0x0000,
1701   - "HUAWEI MOBILE",
1702   - "Mass Storage",
1703   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1704   - 0),
1705   -UNUSUAL_DEV( 0x12d1, 0x1421, 0x0000, 0x0000,
1706   - "HUAWEI MOBILE",
1707   - "Mass Storage",
1708   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1709   - 0),
1710   -UNUSUAL_DEV( 0x12d1, 0x1422, 0x0000, 0x0000,
1711   - "HUAWEI MOBILE",
1712   - "Mass Storage",
1713   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1714   - 0),
1715   -UNUSUAL_DEV( 0x12d1, 0x1423, 0x0000, 0x0000,
1716   - "HUAWEI MOBILE",
1717   - "Mass Storage",
1718   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1719   - 0),
1720   -UNUSUAL_DEV( 0x12d1, 0x1424, 0x0000, 0x0000,
1721   - "HUAWEI MOBILE",
1722   - "Mass Storage",
1723   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1724   - 0),
1725   -UNUSUAL_DEV( 0x12d1, 0x1425, 0x0000, 0x0000,
1726   - "HUAWEI MOBILE",
1727   - "Mass Storage",
1728   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1729   - 0),
1730   -UNUSUAL_DEV( 0x12d1, 0x1426, 0x0000, 0x0000,
1731   - "HUAWEI MOBILE",
1732   - "Mass Storage",
1733   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1734   - 0),
1735   -UNUSUAL_DEV( 0x12d1, 0x1427, 0x0000, 0x0000,
1736   - "HUAWEI MOBILE",
1737   - "Mass Storage",
1738   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1739   - 0),
1740   -UNUSUAL_DEV( 0x12d1, 0x1428, 0x0000, 0x0000,
1741   - "HUAWEI MOBILE",
1742   - "Mass Storage",
1743   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1744   - 0),
1745   -UNUSUAL_DEV( 0x12d1, 0x1429, 0x0000, 0x0000,
1746   - "HUAWEI MOBILE",
1747   - "Mass Storage",
1748   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1749   - 0),
1750   -UNUSUAL_DEV( 0x12d1, 0x142A, 0x0000, 0x0000,
1751   - "HUAWEI MOBILE",
1752   - "Mass Storage",
1753   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1754   - 0),
1755   -UNUSUAL_DEV( 0x12d1, 0x142B, 0x0000, 0x0000,
1756   - "HUAWEI MOBILE",
1757   - "Mass Storage",
1758   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1759   - 0),
1760   -UNUSUAL_DEV( 0x12d1, 0x142C, 0x0000, 0x0000,
1761   - "HUAWEI MOBILE",
1762   - "Mass Storage",
1763   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1764   - 0),
1765   -UNUSUAL_DEV( 0x12d1, 0x142D, 0x0000, 0x0000,
1766   - "HUAWEI MOBILE",
1767   - "Mass Storage",
1768   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1769   - 0),
1770   -UNUSUAL_DEV( 0x12d1, 0x142E, 0x0000, 0x0000,
1771   - "HUAWEI MOBILE",
1772   - "Mass Storage",
1773   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1774   - 0),
1775   -UNUSUAL_DEV( 0x12d1, 0x142F, 0x0000, 0x0000,
1776   - "HUAWEI MOBILE",
1777   - "Mass Storage",
1778   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1779   - 0),
1780   -UNUSUAL_DEV( 0x12d1, 0x1430, 0x0000, 0x0000,
1781   - "HUAWEI MOBILE",
1782   - "Mass Storage",
1783   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1784   - 0),
1785   -UNUSUAL_DEV( 0x12d1, 0x1431, 0x0000, 0x0000,
1786   - "HUAWEI MOBILE",
1787   - "Mass Storage",
1788   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1789   - 0),
1790   -UNUSUAL_DEV( 0x12d1, 0x1432, 0x0000, 0x0000,
1791   - "HUAWEI MOBILE",
1792   - "Mass Storage",
1793   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1794   - 0),
1795   -UNUSUAL_DEV( 0x12d1, 0x1433, 0x0000, 0x0000,
1796   - "HUAWEI MOBILE",
1797   - "Mass Storage",
1798   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1799   - 0),
1800   -UNUSUAL_DEV( 0x12d1, 0x1434, 0x0000, 0x0000,
1801   - "HUAWEI MOBILE",
1802   - "Mass Storage",
1803   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1804   - 0),
1805   -UNUSUAL_DEV( 0x12d1, 0x1435, 0x0000, 0x0000,
1806   - "HUAWEI MOBILE",
1807   - "Mass Storage",
1808   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1809   - 0),
1810   -UNUSUAL_DEV( 0x12d1, 0x1436, 0x0000, 0x0000,
1811   - "HUAWEI MOBILE",
1812   - "Mass Storage",
1813   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1814   - 0),
1815   -UNUSUAL_DEV( 0x12d1, 0x1437, 0x0000, 0x0000,
1816   - "HUAWEI MOBILE",
1817   - "Mass Storage",
1818   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1819   - 0),
1820   -UNUSUAL_DEV( 0x12d1, 0x1438, 0x0000, 0x0000,
1821   - "HUAWEI MOBILE",
1822   - "Mass Storage",
1823   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1824   - 0),
1825   -UNUSUAL_DEV( 0x12d1, 0x1439, 0x0000, 0x0000,
1826   - "HUAWEI MOBILE",
1827   - "Mass Storage",
1828   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1829   - 0),
1830   -UNUSUAL_DEV( 0x12d1, 0x143A, 0x0000, 0x0000,
1831   - "HUAWEI MOBILE",
1832   - "Mass Storage",
1833   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1834   - 0),
1835   -UNUSUAL_DEV( 0x12d1, 0x143B, 0x0000, 0x0000,
1836   - "HUAWEI MOBILE",
1837   - "Mass Storage",
1838   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1839   - 0),
1840   -UNUSUAL_DEV( 0x12d1, 0x143C, 0x0000, 0x0000,
1841   - "HUAWEI MOBILE",
1842   - "Mass Storage",
1843   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1844   - 0),
1845   -UNUSUAL_DEV( 0x12d1, 0x143D, 0x0000, 0x0000,
1846   - "HUAWEI MOBILE",
1847   - "Mass Storage",
1848   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1849   - 0),
1850   -UNUSUAL_DEV( 0x12d1, 0x143E, 0x0000, 0x0000,
1851   - "HUAWEI MOBILE",
1852   - "Mass Storage",
1853   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
1854   - 0),
1855   -UNUSUAL_DEV( 0x12d1, 0x143F, 0x0000, 0x0000,
1856   - "HUAWEI MOBILE",
1857   - "Mass Storage",
1858   - USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_e220_init,
  1533 + USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_init,
1859 1534 0),
1860 1535  
1861 1536 /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */