1. 17 Feb, 2011 5 commits
    • Jiri Slaby's avatar
      USB: serial/usb_wwan, fix tty NULL dereference · 38237fd2
      Jiri Slaby authored
      tty_port_tty_get may return without any problems NULL. Handle this
      case and do not oops in usb_wwan_indat_callback by dereferencing it.
      
      The oops:
      Unable to handle kernel paging request for data at address 0x000000d8
      Faulting instruction address: 0xc0175b3c
      Oops: Kernel access of bad area, sig: 11 [#1]
      PowerPC 40x Platform
      last sysfs file:
      /sys/devices/pci0000:00/0000:00:00.0/0000:01:00.0/0000:02:09.2/usb1/idVendor
      Modules linked in:
      NIP: c0175b3c LR: c0175e7c CTR: c0215c90
      REGS: c77f7d50 TRAP: 0300   Not tainted  (2.6.37-rc5)
      MSR: 00021030 <ME,CE,IR,DR>  CR: 88482028  XER: 2000005f
      DEAR: 000000d8, ESR: 00000000
      TASK = c7141b90[1149] 'wvdial' THREAD: c2750000
      GPR00: 00021030 c77f7e00 c7141b90 00000000 0000000e 00000000 0000000e c0410680
      GPR08: c683db00 00000000 00000001 c03c81f8 88482028 10073ef4 ffffffb9 ffffff94
      GPR16: 00000000 fde036c0 00200200 00100100 00000001 ffffff8d c34fabcc 00000000
      GPR24: c71120d4 00000000 00000000 0000000e 00021030 00000000 00000000 0000000e
      NIP [c0175b3c] tty_buffer_request_room+0x2c/0x194
      LR [c0175e7c] tty_insert_flip_string_fixed_flag+0x3c/0xb0
      Call Trace:
      [c77f7e00] [00000003] 0x3 (unreliable)
      [c77f7e30] [c0175e7c] tty_insert_flip_string_fixed_flag+0x3c/0xb0
      [c77f7e60] [c0215df4] usb_wwan_indat_callback+0x164/0x170
      ...
      
      References: https://bugzilla.kernel.org/show_bug.cgi?id=24582
      Cc: Amit Shah <amitshah@gmx.net>
      Cc: baoyb <baoyb@avit.org.cn>
      Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      38237fd2
    • Luben Tuikov's avatar
      USB: Reset USB 3.0 devices on (re)discovery · 637d11bf
      Luben Tuikov authored
      If the device isn't reset, the XHCI HCD sends
      SET ADDRESS to address 0 while the device is
      already in Addressed state, and the request is
      dropped on the floor as it is addressed to the
      default address. This sequence of events, which this
      patch fixes looks like this:
      
      usb_reset_and_verify_device()
      	hub_port_init()
      		hub_set_address()
      			SET_ADDRESS to 0 with 1
      		usb_get_device_descriptor(udev, 8)
      		usb_get_device_descriptor(udev, 18)
      	descriptors_changed() --> goto re_enumerate:
      		hub_port_logical_disconnect()
      			kick_khubd()
      
      And then:
      
      hub_events()
      	hub_port_connect_change()
      		usb_disconnect()
      			usb_disable_device()
      		new device struct
      		sets device state to Powered
      		choose_address()
      		hub_port_init() <-- no reset, but SET ADDRESS to 0 with 1, timeout!
      
      The solution is to always reset the device in
      hub_port_init() to put it in a known state.
      Signed-off-by: default avatarLuben Tuikov <ltuikov@yahoo.com>
      Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      637d11bf
    • Maciej Szmigiero's avatar
      USB: Add quirk for Samsung Android phone modem · 72a012ce
      Maciej Szmigiero authored
      My Galaxy Spica needs this quirk when in modem mode, otherwise
      it causes endless USB bus resets and is unusable in this mode.
      
      Unfortunately Samsung decided to reuse ID of its old CDMA phone SGH-I500
      for the modem part.
      That's why in addition to this patch the visor driver must be prevented
      from binding to SPH-I500 ID, so ACM driver can do that.
      Signed-off-by: default avatarMaciej Szmigiero <mhej@o2.pl>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      72a012ce
    • Maciej Szmigiero's avatar
      USB: Add Samsung SGH-I500/Android modem ID switch to visor driver · acb52cb1
      Maciej Szmigiero authored
      [USB]Add Samsung SGH-I500/Android modem ID switch to visor driver
      
      Samsung decided to reuse USB ID of its old CDMA phone SGH-I500 for the
      modem part of some of their Android phones. At least Galaxy Spica
      is affected.
      
      This modem needs ACM driver and does not work with visor driver which
      binds the conflicting ID for SGH-I500.
      Because SGH-I500 is pretty an old hardware its best to add switch to
      visor
      driver in cause somebody still wants to use that phone with Linux.
      
      Note that this is needed only when using the Android phone as modem,
      not in USB storage or ADB mode.
      Signed-off-by: default avatarMaciej Szmigiero <mhej@o2.pl>
      Cc: stable <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      acb52cb1
    • Alan Stern's avatar
      USB: add quirks entry for Keytouch QWERTY Panel · 3c18e30f
      Alan Stern authored
      This patch (as1448) adds a quirks entry for the Keytouch QWERTY Panel
      firmware, used in the IEC 60945 keyboard.  This device crashes during
      enumeration when the computer asks for its configuration string
      descriptor.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Tested-by: default avatarkholis <nur.kholis.majid@gmail.com>
      CC: <stable@kernel.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3c18e30f
  2. 16 Feb, 2011 2 commits
  3. 15 Feb, 2011 31 commits
  4. 14 Feb, 2011 2 commits