mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: [SCSI] zfcp: Flush SCSI registration work when adding unit [SCSI] zfcp: Fix timer initialization for ct and els requests [SCSI] zfcp: Warn about storage devices with broken PLOGI data [SCSI] zfcp: Handle WWPN mismatch in PLOGI payload [SCSI] zfcp: fix kfree handling in zfcp_init_device_setup [SCSI] fix memory leak in initialization
This commit is contained in:
commit
61aa1620be
8 changed files with 43 additions and 25 deletions
|
|
@ -317,6 +317,7 @@ static struct scsi_device *scsi_alloc_sdev(struct scsi_target *starget,
|
|||
out_device_destroy:
|
||||
scsi_device_set_state(sdev, SDEV_DEL);
|
||||
transport_destroy_device(&sdev->sdev_gendev);
|
||||
put_device(&sdev->sdev_dev);
|
||||
put_device(&sdev->sdev_gendev);
|
||||
out:
|
||||
if (display_failure_msg)
|
||||
|
|
@ -957,6 +958,7 @@ static inline void scsi_destroy_sdev(struct scsi_device *sdev)
|
|||
if (sdev->host->hostt->slave_destroy)
|
||||
sdev->host->hostt->slave_destroy(sdev);
|
||||
transport_destroy_device(&sdev->sdev_gendev);
|
||||
put_device(&sdev->sdev_dev);
|
||||
put_device(&sdev->sdev_gendev);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -864,10 +864,6 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev)
|
|||
goto clean_device;
|
||||
}
|
||||
|
||||
/* take a reference for the sdev_dev; this is
|
||||
* released by the sdev_class .release */
|
||||
get_device(&sdev->sdev_gendev);
|
||||
|
||||
/* create queue files, which may be writable, depending on the host */
|
||||
if (sdev->host->hostt->change_queue_depth)
|
||||
error = device_create_file(&sdev->sdev_gendev, &sdev_attr_queue_depth_rw);
|
||||
|
|
@ -917,6 +913,7 @@ int scsi_sysfs_add_sdev(struct scsi_device *sdev)
|
|||
|
||||
device_del(&sdev->sdev_gendev);
|
||||
transport_destroy_device(&sdev->sdev_gendev);
|
||||
put_device(&sdev->sdev_dev);
|
||||
put_device(&sdev->sdev_gendev);
|
||||
|
||||
return error;
|
||||
|
|
@ -1065,7 +1062,7 @@ void scsi_sysfs_device_initialize(struct scsi_device *sdev)
|
|||
sdev->host->host_no, sdev->channel, sdev->id, sdev->lun);
|
||||
|
||||
device_initialize(&sdev->sdev_dev);
|
||||
sdev->sdev_dev.parent = &sdev->sdev_gendev;
|
||||
sdev->sdev_dev.parent = get_device(&sdev->sdev_gendev);
|
||||
sdev->sdev_dev.class = &sdev_class;
|
||||
dev_set_name(&sdev->sdev_dev, "%d:%d:%d:%d",
|
||||
sdev->host->host_no, sdev->channel, sdev->id, sdev->lun);
|
||||
|
|
|
|||
Loading…
Reference in a new issue