diff options
Diffstat (limited to 'drivers/usb/storage/isd200.c')
-rw-r--r-- | drivers/usb/storage/isd200.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/storage/isd200.c b/drivers/usb/storage/isd200.c index fdba2f69d4c9..e9cbc1467f76 100644 --- a/drivers/usb/storage/isd200.c +++ b/drivers/usb/storage/isd200.c | |||
@@ -490,13 +490,13 @@ static int isd200_action( struct us_data *us, int action, | |||
490 | void* pointer, int value ) | 490 | void* pointer, int value ) |
491 | { | 491 | { |
492 | union ata_cdb ata; | 492 | union ata_cdb ata; |
493 | struct scsi_device srb_dev; | 493 | /* static to prevent this large struct being placed on the valuable stack */ |
494 | static struct scsi_device srb_dev; | ||
494 | struct isd200_info *info = (struct isd200_info *)us->extra; | 495 | struct isd200_info *info = (struct isd200_info *)us->extra; |
495 | struct scsi_cmnd *srb = &info->srb; | 496 | struct scsi_cmnd *srb = &info->srb; |
496 | int status; | 497 | int status; |
497 | 498 | ||
498 | memset(&ata, 0, sizeof(ata)); | 499 | memset(&ata, 0, sizeof(ata)); |
499 | memset(&srb_dev, 0, sizeof(srb_dev)); | ||
500 | srb->cmnd = info->cmnd; | 500 | srb->cmnd = info->cmnd; |
501 | srb->device = &srb_dev; | 501 | srb->device = &srb_dev; |
502 | ++srb->serial_number; | 502 | ++srb->serial_number; |