- patches.arch/x86_mce_intel_decode_physical_address.patch:
[linux-flexiantxendom0-3.2.10.git] / drivers / usb / storage / isd200.c
index fdba2f6..e9cbc14 100644 (file)
@@ -490,13 +490,13 @@ static int isd200_action( struct us_data *us, int action,
                          void* pointer, int value )
 {
        union ata_cdb ata;
-       struct scsi_device srb_dev;
+       /* static to prevent this large struct being placed on the valuable stack */
+       static struct scsi_device srb_dev;
        struct isd200_info *info = (struct isd200_info *)us->extra;
        struct scsi_cmnd *srb = &info->srb;
        int status;
 
        memset(&ata, 0, sizeof(ata));
-       memset(&srb_dev, 0, sizeof(srb_dev));
        srb->cmnd = info->cmnd;
        srb->device = &srb_dev;
        ++srb->serial_number;