[SCSI] ibmvstgt: set up scsi_host properly before __scsi_alloc_queue
Before calling __scsi_alloc_queue, scsi_host->shost_gendev.parent must be initialized properly. This patch moves __scsi_alloc_queue after scsi_add_host (like initiator drivers do). Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
Родитель
ab3b0be84c
Коммит
b560665ce5
|
@ -838,9 +838,6 @@ static int ibmvstgt_probe(struct vio_dev *dev, const struct vio_device_id *id)
|
||||||
if (!shost)
|
if (!shost)
|
||||||
goto free_vport;
|
goto free_vport;
|
||||||
shost->transportt = ibmvstgt_transport_template;
|
shost->transportt = ibmvstgt_transport_template;
|
||||||
err = scsi_tgt_alloc_queue(shost);
|
|
||||||
if (err)
|
|
||||||
goto put_host;
|
|
||||||
|
|
||||||
target = host_to_srp_target(shost);
|
target = host_to_srp_target(shost);
|
||||||
target->shost = shost;
|
target->shost = shost;
|
||||||
|
@ -872,6 +869,10 @@ static int ibmvstgt_probe(struct vio_dev *dev, const struct vio_device_id *id)
|
||||||
if (err)
|
if (err)
|
||||||
goto destroy_queue;
|
goto destroy_queue;
|
||||||
|
|
||||||
|
err = scsi_tgt_alloc_queue(shost);
|
||||||
|
if (err)
|
||||||
|
goto destroy_queue;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
destroy_queue:
|
destroy_queue:
|
||||||
crq_queue_destroy(target);
|
crq_queue_destroy(target);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче