> +/* Make sure any sense buffer is the correct size. */
> +#define scsi_execute(sdev, cmd, data_direction, buffer, bufflen, sense,      
> \
> +                  sshdr, timeout, retries, flags, rq_flags, resid)   \
> +({                                                                   \
> +     BUILD_BUG_ON((sense) != NULL &&                                 \
> +                  sizeof(sense) != SCSI_SENSE_BUFFERSIZE);           \
> +     __scsi_execute(sdev, cmd, data_direction, buffer, bufflen,      \
> +                    sense, sshdr, timeout, retries, flags, rq_flags, \
> +                    resid);                                          \
> +})

This macro gets evaluated in the scsi_execute_req inline function just
below.  So either we need to include scsi_sense.h/scsi_common.h in
scsi_device.h, or just move scsi_execute_req out of line.  The latter
sounds better to me a it's not really used in a fast path.

Reply via email to