@@ -75,8 +75,6 @@ struct alua_dh_data {
unsigned char *buff;
int bufflen;
unsigned char transition_tmo;
- unsigned char sense[SCSI_SENSE_BUFFERSIZE];
- int senselen;
struct scsi_device *sdev;
activate_complete callback_fn;
void *callback_data;
@@ -379,6 +377,7 @@ static int alua_check_sense(struct scsi_device *sdev,
*/
static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h, int wait_for_transition)
{
+ unsigned char sense[SCSI_SENSE_BUFFERSIZE];
struct scsi_sense_hdr sense_hdr;
int len, k, off, valid_states = 0;
unsigned char *ucp;
@@ -393,11 +392,11 @@ static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h, int wait_
expiry = round_jiffies_up(jiffies + h->transition_tmo * HZ);
retry:
- retval = submit_rtpg(sdev, h->buff, h->bufflen, h->sense, h->flags);
+ retval = submit_rtpg(sdev, h->buff, h->bufflen, sense, h->flags);
if (retval) {
if (!(driver_byte(retval) & DRIVER_SENSE) ||
- !scsi_normalize_sense(h->sense, SCSI_SENSE_BUFFERSIZE,
+ !scsi_normalize_sense(sense, SCSI_SENSE_BUFFERSIZE,
&sense_hdr)) {
sdev_printk(KERN_INFO, sdev,
"%s: rtpg failed, result %d\n",
@@ -532,6 +531,7 @@ static int alua_rtpg(struct scsi_device *sdev, struct alua_dh_data *h, int wait_
static unsigned alua_stpg(struct scsi_device *sdev, struct alua_dh_data *h)
{
int retval;
+ unsigned char sense[SCSI_SENSE_BUFFERSIZE];
struct scsi_sense_hdr sense_hdr;
if (!(h->tpgs & TPGS_MODE_EXPLICIT)) {
@@ -564,11 +564,11 @@ static unsigned alua_stpg(struct scsi_device *sdev, struct alua_dh_data *h)
}
/* Set state to transitioning */
h->state = TPGS_STATE_TRANSITIONING;
- retval = submit_stpg(sdev, h->group_id, h->sense);
+ retval = submit_stpg(sdev, h->group_id, sense);
if (retval) {
if (!(driver_byte(retval) & DRIVER_SENSE) ||
- !scsi_normalize_sense(h->sense, SCSI_SENSE_BUFFERSIZE,
+ !scsi_normalize_sense(sense, SCSI_SENSE_BUFFERSIZE,
&sense_hdr)) {
sdev_printk(KERN_INFO, sdev,
"%s: stpg failed, result %d",
We don't need to have the sense buffer available all the time, putting it on stack is totally sufficient. Signed-off-by: Hannes Reinecke <hare@suse.de> --- drivers/scsi/device_handler/scsi_dh_alua.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)