1. 02 2月, 2015 2 次提交
    • O
      hso: fix crash when device disappears while serial port is open · 29bd3bc1
      Olivier Sobrie 提交于
      When the device disappear, the function hso_disconnect() is called to
      perform cleanup. In the cleanup function, hso_free_interface() calls
      tty_port_tty_hangup() in view of scheduling a work to hang up the tty if
      needed. If the port was not open then hso_serial_ref_free() is called
      directly to cleanup everything. Otherwise, hso_serial_ref_free() is called
      when the last fd associated to the port is closed.
      
      For each open port, tty_release() will call the close method,
      hso_serial_close(), which drops the last kref and call
      hso_serial_ref_free() which unregisters, destroys the tty port
      and finally frees the structure in which the tty_port structure
      is included. Later, in tty_release(), more precisely when release_tty()
      is called, the tty_port previously freed is accessed to cancel
      the tty buf workqueue and it leads to a crash.
      
      In view of avoiding this crash, we add a cleanup method that is called
      at the end of the hangup process and we drop the last kref in this
      function when all the ports have been closed, when tty_port is no
      more needed and when it is safe to free the structure containing the
      tty_port structure.
      Signed-off-by: NOlivier Sobrie <olivier@sobrie.be>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      29bd3bc1
    • O
      hso: remove useless header file timer.h · 3ac856c1
      Olivier Sobrie 提交于
      No timer related function is used in this driver.
      Signed-off-by: NOlivier Sobrie <olivier@sobrie.be>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3ac856c1
  2. 25 1月, 2015 1 次提交
  3. 20 1月, 2015 2 次提交
  4. 15 1月, 2015 1 次提交
  5. 14 1月, 2015 1 次提交
  6. 13 1月, 2015 3 次提交
  7. 07 1月, 2015 1 次提交
  8. 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
  9. 10 12月, 2014 1 次提交
    • H
      r8152: redefine REALTEK_USB_DEVICE · d9a28c5b
      hayeswang 提交于
      Redefine REALTEK_USB_DEVICE for the desired USB interface for probe().
      There are three USB interfaces for the device. USB_CLASS_COMM and
      USB_CLASS_CDC_DATA are for ECM mode (config #2). USB_CLASS_VENDOR_SPEC
      is for the vendor mode (config #1). However, we are not interesting
      in USB_CLASS_CDC_DATA for probe(), so redefine REALTEK_USB_DEVICE
      to ignore the USB interface class of USB_CLASS_CDC_DATA.
      Signed-off-by: NHayes Wang <hayeswang@realtek.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d9a28c5b
  10. 22 11月, 2014 4 次提交
  11. 20 11月, 2014 1 次提交
  12. 17 11月, 2014 1 次提交
  13. 13 11月, 2014 3 次提交
  14. 12 11月, 2014 2 次提交
  15. 08 11月, 2014 2 次提交
  16. 07 11月, 2014 3 次提交
  17. 06 11月, 2014 1 次提交
  18. 01 11月, 2014 1 次提交
    • H
      r8152: stop submitting intr for -EPROTO · d59c876d
      hayeswang 提交于
      For Renesas USB 3.0 host controller, when unplugging the usb hub which
      has the RTL8153 plugged, the driver would get -EPROTO for interrupt
      transfer. There is high probability to get the information of "HC died;
      cleaning up", if the driver continues to submit the interrupt transfer
      before the disconnect() is called.
      
      [ 1024.197678] r8152 9-1.4:1.0 eth0: intr status -71
      [ 1024.213673] r8152 9-1.4:1.0 eth0: intr status -71
      [ 1024.229668] r8152 9-1.4:1.0 eth0: intr status -71
      [ 1024.245661] r8152 9-1.4:1.0 eth0: intr status -71
      [ 1024.261653] r8152 9-1.4:1.0 eth0: intr status -71
      [ 1024.277648] r8152 9-1.4:1.0 eth0: intr status -71
      [ 1024.293642] r8152 9-1.4:1.0 eth0: intr status -71
      [ 1024.309638] r8152 9-1.4:1.0 eth0: intr status -71
      [ 1024.325633] r8152 9-1.4:1.0 eth0: intr status -71
      [ 1024.341627] r8152 9-1.4:1.0 eth0: intr status -71
      [ 1024.357621] r8152 9-1.4:1.0 eth0: intr status -71
      [ 1024.373615] r8152 9-1.4:1.0 eth0: intr status -71
      [ 1024.383097] usb 9-1: USB disconnect, device number 2
      [ 1024.383103] usb 9-1.4: USB disconnect, device number 6
      [ 1029.391010] xhci_hcd 0000:04:00.0: xHCI host not responding to stop endpoint command.
      [ 1029.391016] xhci_hcd 0000:04:00.0: Assuming host is dying, halting host.
      [ 1029.392551] xhci_hcd 0000:04:00.0: HC died; cleaning up
      [ 1029.421480] usb 8-1: USB disconnect, device number 2
      Signed-off-by: NHayes Wang <hayeswang@realtek.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d59c876d
  19. 31 10月, 2014 4 次提交
  20. 30 10月, 2014 2 次提交
  21. 29 10月, 2014 3 次提交