]> git.karo-electronics.de Git - karo-tx-linux.git/commit
uas: Fix memory management
authorHans de Goede <hdegoede@redhat.com>
Wed, 13 Nov 2013 08:32:22 +0000 (09:32 +0100)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Tue, 4 Mar 2014 23:38:24 +0000 (15:38 -0800)
commit21fc05b680f6fba868b41e2713ade3fdea4049f9
tree88d5fa34ee36c50352df7487926e246a040f5c18
parentc6f63207a3ba689025b2120792ea831cf72f9a81
uas: Fix memory management

The scsi-host structure is refcounted, scsi_remove_host tears down the
scsi-host but does not decrement the refcount, so we need to call
scsi_put_host on disconnect to get the underlying memory to be freed.

After calling scsi_remove_host, the scsi-core may still hold a reference to
the scsi-host, iow we may still get called after uas_disconnect, but we
do our own life cycle management of uas_devinfo, freeing it on disconnect,
and thus may end up using devinfo after it has been freed. Switch to letting
scsi_host_alloc allocate and manage the memory for us.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
drivers/usb/storage/uas.c