[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:
FUJITA Tomonori 2008-03-01 15:36:34 +09:00 коммит произвёл James Bottomley
Родитель ab3b0be84c
Коммит b560665ce5
1 изменённых файлов: 4 добавлений и 3 удалений

Просмотреть файл

@ -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);