1. 06 11月, 2015 1 次提交
    • P
      USB: qmi_wwan: Add quirk for Quectel EC20 Mini PCIe module · b3d8cf01
      Petr Štetiar 提交于
      This device has same vendor and product IDs as G2K devices, but it has
      different number of interfaces(4 vs 5) and also different interface
      layout where EC20 has QMI on interface 4 instead of 0.
      
      lsusb output:
      
      	Bus 002 Device 003: ID 05c6:9215 Qualcomm, Inc. Acer Gobi 2000
      	Device Descriptor:
      	  bLength                18
      	  bDescriptorType         1
      	  bcdUSB               2.00
      	  bDeviceClass            0 (Defined at Interface level)
      	  bDeviceSubClass         0
      	  bDeviceProtocol         0
      	  bMaxPacketSize0        64
      	  idVendor           0x05c6 Qualcomm, Inc.
      	  idProduct          0x9215 Acer Gobi 2000 Wireless Modem
      	  bcdDevice            2.32
      	  iManufacturer           1 Quectel
      	  iProduct                2 Quectel LTE Module
      	  iSerial                 0
      	  bNumConfigurations      1
      	  Configuration Descriptor:
      	    bLength                 9
      	    bDescriptorType         2
      	    wTotalLength          209
      	    bNumInterfaces          5
      	    bConfigurationValue     1
      	    iConfiguration          0
      	    bmAttributes         0xa0
      	      (Bus Powered)
      	      Remote Wakeup
      	    MaxPower              500mA
      Signed-off-by: NPetr Štetiar <ynezz@true.cz>
      Acked-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b3d8cf01
  2. 03 11月, 2015 1 次提交
  3. 22 10月, 2015 1 次提交
  4. 16 9月, 2015 1 次提交
  5. 01 9月, 2015 1 次提交
  6. 18 8月, 2015 1 次提交
  7. 21 7月, 2015 2 次提交
  8. 04 3月, 2015 1 次提交
  9. 03 1月, 2015 1 次提交
    • K
      qmi_wwan: Set random MAC on devices with buggy fw · 531ad428
      Kristian Evensen 提交于
      Some buggy firmwares export an incorrect MAC address (00:a0:c6:00:00:00). This
      makes for example checking devices for random MAC addresses tricky, and you
      might end up with multiple network interfaces with the same address.
      
      This patch tries to fix, or at least improve, the situation by setting the MAC
      address of devices with this firmware bug to a random address. I tested the
      patch with two devices that has this firmware bug (Huawei E398 and E392), and
      network traffic worked fine after changing the address.
      Signed-off-by: NKristian Evensen <kristian.evensen@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      531ad428
  10. 17 11月, 2014 1 次提交
  11. 18 7月, 2014 1 次提交
  12. 08 7月, 2014 1 次提交
  13. 07 6月, 2014 1 次提交
  14. 03 6月, 2014 2 次提交
  15. 02 6月, 2014 1 次提交
  16. 28 4月, 2014 7 次提交
  17. 01 4月, 2014 1 次提交
  18. 18 2月, 2014 1 次提交
    • E
      usbnet: remove generic hard_header_len check · eb85569f
      Emil Goode 提交于
      This patch removes a generic hard_header_len check from the usbnet
      module that is causing dropped packages under certain circumstances
      for devices that send rx packets that cross urb boundaries.
      
      One example is the AX88772B which occasionally send rx packets that
      cross urb boundaries where the remaining partial packet is sent with
      no hardware header. When the buffer with a partial packet is of less
      number of octets than the value of hard_header_len the buffer is
      discarded by the usbnet module.
      
      With AX88772B this can be reproduced by using ping with a packet
      size between 1965-1976.
      
      The bug has been reported here:
      
      https://bugzilla.kernel.org/show_bug.cgi?id=29082
      
      This patch introduces the following changes:
      - Removes the generic hard_header_len check in the rx_complete
        function in the usbnet module.
      - Introduces a ETH_HLEN check for skbs that are not cloned from
        within a rx_fixup callback.
      - For safety a hard_header_len check is added to each rx_fixup
        callback function that could be affected by this change.
        These extra checks could possibly be removed by someone
        who has the hardware to test.
      - Removes a call to dev_kfree_skb_any() and instead utilizes the
        dev->done list to queue skbs for cleanup.
      
      The changes place full responsibility on the rx_fixup callback
      functions that clone skbs to only pass valid skbs to the
      usbnet_skb_return function.
      Signed-off-by: NEmil Goode <emilgoode@gmail.com>
      Reported-by: NIgor Gnatenko <i.gnatenko.brain@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      eb85569f
  19. 14 2月, 2014 1 次提交
  20. 10 2月, 2014 1 次提交
  21. 05 2月, 2014 1 次提交
  22. 05 11月, 2013 2 次提交
  23. 18 10月, 2013 1 次提交
  24. 01 10月, 2013 3 次提交
  25. 12 9月, 2013 1 次提交
    • B
      net: qmi_wwan: add new Qualcomm devices · 0470667c
      Bjørn Mork 提交于
      Adding the device list from the Windows driver description files
      included with a new Qualcomm MDM9615 based device, "Alcatel-sbell
      ASB TL131 TDD LTE", from China Mobile.  This device is tested
      and verified to work.  The others are assumed to work based on
      using the same Windows driver.
      
      Many of these devices support multiple QMI/wwan ports, requiring
      multiple interface matching entries.  All devices are composite,
      providing a mix of one or more serial, storage or Android Debug
      Brigde functions in addition to the wwan function.
      
      This device list included an update of one previously known device,
      which was incorrectly assumed to have a Gobi 2K layout.  This is
      corrected.
      Reported-by: N王康 <scateu@gmail.com>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0470667c
  26. 04 9月, 2013 1 次提交
    • J
      drivers/net: Convert uses of compare_ether_addr to ether_addr_equal · 7367d0b5
      Joe Perches 提交于
      Use the new bool function ether_addr_equal to add
      some clarity and reduce the likelihood for misuse
      of compare_ether_addr for sorting.
      
      Done via cocci script: (and a little typing)
      
      $ cat compare_ether_addr.cocci
      @@
      expression a,b;
      @@
      -	!compare_ether_addr(a, b)
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	compare_ether_addr(a, b)
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!ether_addr_equal(a, b) == 0
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!ether_addr_equal(a, b) != 0
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	ether_addr_equal(a, b) == 0
      +	!ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	ether_addr_equal(a, b) != 0
      +	ether_addr_equal(a, b)
      
      @@
      expression a,b;
      @@
      -	!!ether_addr_equal(a, b)
      +	ether_addr_equal(a, b)
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7367d0b5
  27. 02 7月, 2013 3 次提交