if (delete) {
struct scsi_target *starget = to_scsi_target(parent);
- struct Scsi_Host *shost = dev_to_shost(starget->dev.parent);
if (!starget->create) {
- if (shost->transportt->target_destroy)
- shost->transportt->target_destroy(starget);
device_del(parent);
if (starget->transport_classdev.class)
class_device_unregister(&starget->transport_classdev);
static int scsi_bus_match(struct device *dev, struct device_driver *gendrv)
{
struct scsi_device *sdp = to_scsi_device(dev);
+ if (sdp->no_uld_attach)
+ return 0;
return (sdp->inq_periph_qual == SCSI_INQ_PQ_CON)? 1: 0;
}
scsi_device_set_state(sdev, SDEV_DEL);
if (sdev->host->hostt->slave_destroy)
sdev->host->hostt->slave_destroy(sdev);
- if (sdev->host->transportt->device_destroy)
- sdev->host->transportt->device_destroy(sdev);
put_device(&sdev->sdev_gendev);
out: