1. 16 6月, 2009 7 次提交
  2. 13 6月, 2009 1 次提交
  3. 11 6月, 2009 13 次提交
  4. 29 5月, 2009 1 次提交
    • A
      usb-serial: fix crash when sub-driver updates firmware · 0a3c8549
      Alan Stern 提交于
      This patch (as1244) fixes a crash in usb-serial that occurs when a
      sub-driver returns a positive value from its attach method, indicating
      that new firmware was loaded and the device will disconnect and
      reconnect.  The usb-serial core then skips the step of registering the
      port devices; when the disconnect occurs, the attempt to unregister
      the ports fails dramatically.
      
      This problem shows up with Keyspan devices and it might affect others
      as well.
      
      When the attach method returns a positive value, the patch sets
      num_ports to 0.  This tells usb_serial_disconnect() not to try
      unregistering any of the ports; instead they are cleaned up by
      destroy_serial().
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Tested-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      
      0a3c8549
  5. 18 5月, 2009 1 次提交
    • D
      Fix oops on close of hot-unplugged FTDI serial converter · 80193195
      David Woodhouse 提交于
      Commit c45d6320 ("fix reference counting of ftdi_private") stopped
      ftdi_sio_port_remove() from directly freeing the port-private data, with
      the intention if the port was still open, it would be freed when
      ftdi_close() is eventually called and releases the last refcount on the
      structure.
      
      That's all very well, but ftdi_sio_port_remove() still contains a call
      to usb_set_serial_port_data(port, NULL) -- so by the time we get to
      ftdi_close() for the port which was unplugged, it _still_ oopses on
      dereferencing that NULL pointer, as it did before (and does in 2.6.29).
      
      The fix is just not to clear the private data in ftdi_sio_port_remove().
      Then the refcount is properly reduced to zero when the final kref_put()
      happens in ftdi_close().
      
      Remove a bogus comment too, while we're at it. And stop doing things
      inside "if (priv)" -- it must _always_ be there.
      
      Based loosely on an earlier patch by Daniel Mack, and suggestions by
      Alan Stern.
      Signed-off-by: NDavid Woodhouse <David.Woodhouse@intel.com>
      Tested-by: NDaniel Mack <daniel@caiaq.de>
      Cc: stable@kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      80193195
  6. 09 5月, 2009 2 次提交
  7. 24 4月, 2009 5 次提交
  8. 18 4月, 2009 6 次提交
  9. 14 4月, 2009 1 次提交
  10. 07 4月, 2009 2 次提交
  11. 01 4月, 2009 1 次提交