set_bit(SHOST_DEL, &shost->shost_state);
+ if (shost->transportt->host_destroy)
+ shost->transportt->host_destroy(shost);
class_device_unregister(&shost->shost_classdev);
if (shost->transport_classdev.class)
class_device_unregister(&shost->transport_classdev);
error = scsi_sysfs_add_host(shost);
if (error)
- goto out_del_classdev;
+ goto out_destroy_host;
scsi_proc_host_add(shost);
return error;
+ out_destroy_host:
+ if (shost->transportt->host_destroy)
+ shost->transportt->host_destroy(shost);
out_del_classdev:
class_device_del(&shost->shost_classdev);
out_del_gendev: