We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 77541f7 commit bc546c0Copy full SHA for bc546c0
drivers/scsi/device_handler/scsi_dh_rdac.c
@@ -453,8 +453,8 @@ static int initialize_controller(struct scsi_device *sdev,
453
if (!h->ctlr)
454
err = SCSI_DH_RES_TEMP_UNAVAIL;
455
else {
456
- list_add_rcu(&h->node, &h->ctlr->dh_list);
457
h->sdev = sdev;
+ list_add_rcu(&h->node, &h->ctlr->dh_list);
458
}
459
spin_unlock(&list_lock);
460
err = SCSI_DH_OK;
@@ -778,11 +778,11 @@ static void rdac_bus_detach( struct scsi_device *sdev )
778
spin_lock(&list_lock);
779
if (h->ctlr) {
780
list_del_rcu(&h->node);
781
- h->sdev = NULL;
782
kref_put(&h->ctlr->kref, release_controller);
783
784
785
sdev->handler_data = NULL;
+ synchronize_rcu();
786
kfree(h);
787
788
0 commit comments