Re: [PATCH 14/22] ncr5380: Add MAX_LUN limit

From: Hannes Reinecke
Date: Mon Mar 14 2016 - 03:43:21 EST


On 03/14/2016 05:27 AM, Finn Thain wrote:
> The driver has a limit of eight LUs because of the byte-sized bitfield
> that is used for busy flags. Reject commands with LUN > 7.
>
> Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx>
>
> ---
> drivers/scsi/NCR5380.c | 6 ++++++
> drivers/scsi/NCR5380.h | 2 ++
> 2 files changed, 8 insertions(+)
>
> Index: linux/drivers/scsi/NCR5380.c
> ===================================================================
> --- linux.orig/drivers/scsi/NCR5380.c 2016-03-14 15:26:45.000000000 +1100
> +++ linux/drivers/scsi/NCR5380.c 2016-03-14 15:26:48.000000000 +1100
> @@ -661,6 +661,12 @@ static int NCR5380_queue_command(struct
> }
> #endif /* (NDEBUG & NDEBUG_NO_WRITE) */
>
> + if (cmd->device->lun > MAX_LUN) {
> + cmd->result = DID_NO_CONNECT << 16;
> + cmd->scsi_done(cmd);
> + return 0;
> + }
> +
> cmd->result = 0;
>
> if (!NCR5380_acquire_dma_irq(instance))
> Index: linux/drivers/scsi/NCR5380.h
> ===================================================================
> --- linux.orig/drivers/scsi/NCR5380.h 2016-03-14 15:26:45.000000000 +1100
> +++ linux/drivers/scsi/NCR5380.h 2016-03-14 15:26:48.000000000 +1100
> @@ -244,6 +244,8 @@ struct NCR5380_hostdata {
>
> #ifdef __KERNEL__
>
> +#define MAX_LUN 7
> +
> struct NCR5380_cmd {
> struct list_head list;
> };
>
>
Why not simply use shost->max_lun ?

Cheers,

Hannes
--
Dr. Hannes Reinecke Teamlead Storage & Networking
hare@xxxxxxx +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)