RE: [PATCH 19/24] aacraid: move scsi_add_host()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: linux-scsi-owner@xxxxxxxxxxxxxxx [mailto:linux-scsi-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Hannes Reinecke
> Sent: Wednesday, May 29, 2019 7:29 AM
> To: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
> Cc: Christoph Hellwig <hch@xxxxxx>; James Bottomley
> <james.bottomley@xxxxxxxxxxxxxxxxxxxxx>; linux-scsi@xxxxxxxxxxxxxxx;
> Hannes Reinecke <hare@xxxxxxx>; Hannes Reinecke <hare@xxxxxxxx>
> Subject: [PATCH 19/24] aacraid: move scsi_add_host()
> 
> Move the call to scsi_add_host() so that the Scsi_Host structure is initialized
> before any I/O is sent.
> 
> Signed-off-by: Hannes Reinecke <hare@xxxxxxxx>
> ---
>  drivers/scsi/aacraid/linit.c | 17 +++++++----------
>  1 file changed, 7 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c index
> 8e28a505f7e8..71d97881fc26 100644
> --- a/drivers/scsi/aacraid/linit.c
> +++ b/drivers/scsi/aacraid/linit.c
> @@ -1669,6 +1669,9 @@ static int aac_probe_one(struct pci_dev *pdev,
> const struct pci_device_id *id)
>  	shost->unique_id = unique_id;
>  	shost->max_cmd_len = 16;
>  	shost->use_cmd_list = 1;
> +	shost->max_id = MAXIMUM_NUM_CONTAINERS;
> +	shost->max_lun = AAC_MAX_LUN;
> +	shost->sg_tablesize = HBA_MAX_SG_SEPARATE;
> 
>  	if (aac_cfg_major == AAC_CHARDEV_NEEDS_REINIT)
>  		aac_init_char();
> @@ -1731,6 +1734,10 @@ static int aac_probe_one(struct pci_dev *pdev,
> const struct pci_device_id *id)
>  		goto out_deinit;
>  	}
> 
> +	error = scsi_add_host(shost, &pdev->dev);
> +	if (error)
> +		goto out_deinit;
> +
>  	aac->maximum_num_channels = aac_drivers[index].channels;
>  	error = aac_get_adapter_info(aac);

Hi Hannes,

I think this will be problematic, as the get_adapter_info() call gets a number of parameters from the controller, namely

	- can_queue
	- sg_tablesize

>From the sync command GET_PREFERRED_SETTINGS.

In looking at scsi_add_host(), it sets up the tags with input from those values. I'm still reviewing the others, but that was why the scsi_add_host was delayed.

Thanks, -Dave
 





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux