Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
[SCSI] hpsa: Disable ASPM
[SCSI] aacraid: controller hangs if kernel uses non-default ASPM policy
[SCSI] mpt2sas: add missing allocation.
[SCSI] Silencing 'killing requests for dead queue'
[SCSI] fix WARNING: at drivers/scsi/scsi_lib.c:1704

+17 -6
+4
drivers/scsi/aacraid/linit.c
··· 38 38 #include <linux/module.h> 39 39 #include <linux/moduleparam.h> 40 40 #include <linux/pci.h> 41 + #include <linux/pci-aspm.h> 41 42 #include <linux/slab.h> 42 43 #include <linux/mutex.h> 43 44 #include <linux/spinlock.h> ··· 1109 1108 insert = &aac->entry; 1110 1109 unique_id++; 1111 1110 } 1111 + 1112 + pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 | 1113 + PCIE_LINK_STATE_CLKPM); 1112 1114 1113 1115 error = pci_enable_device(pdev); 1114 1116 if (error)
+5
drivers/scsi/hpsa.c
··· 23 23 #include <linux/interrupt.h> 24 24 #include <linux/types.h> 25 25 #include <linux/pci.h> 26 + #include <linux/pci-aspm.h> 26 27 #include <linux/kernel.h> 27 28 #include <linux/slab.h> 28 29 #include <linux/delay.h> ··· 3923 3922 dev_warn(&h->pdev->dev, "controller appears to be disabled\n"); 3924 3923 return -ENODEV; 3925 3924 } 3925 + 3926 + pci_disable_link_state(h->pdev, PCIE_LINK_STATE_L0S | 3927 + PCIE_LINK_STATE_L1 | PCIE_LINK_STATE_CLKPM); 3928 + 3926 3929 err = pci_enable_device(h->pdev); 3927 3930 if (err) { 3928 3931 dev_warn(&h->pdev->dev, "unable to enable PCI device\n");
+5
drivers/scsi/mpt2sas/mpt2sas_scsih.c
··· 2802 2802 2803 2803 if (ioc->is_driver_loading) 2804 2804 return; 2805 + 2806 + fw_event = kzalloc(sizeof(struct fw_event_work), GFP_ATOMIC); 2807 + if (!fw_event) 2808 + return; 2809 + 2805 2810 fw_event->event = MPT2SAS_REMOVE_UNRESPONDING_DEVICES; 2806 2811 fw_event->ioc = ioc; 2807 2812 _scsih_fw_event_add(ioc, fw_event);
+2 -1
drivers/scsi/scsi_lib.c
··· 1409 1409 1410 1410 blk_start_request(req); 1411 1411 1412 + scmd_printk(KERN_INFO, cmd, "killing request\n"); 1413 + 1412 1414 sdev = cmd->device; 1413 1415 starget = scsi_target(sdev); 1414 1416 shost = sdev->host; ··· 1492 1490 struct request *req; 1493 1491 1494 1492 if (!sdev) { 1495 - printk("scsi: killing requests for dead queue\n"); 1496 1493 while ((req = blk_peek_request(q)) != NULL) 1497 1494 scsi_kill_request(req, q); 1498 1495 return;
+1 -5
drivers/scsi/scsi_scan.c
··· 319 319 return sdev; 320 320 321 321 out_device_destroy: 322 - scsi_device_set_state(sdev, SDEV_DEL); 323 - transport_destroy_device(&sdev->sdev_gendev); 324 - put_device(&sdev->sdev_dev); 325 - scsi_free_queue(sdev->request_queue); 326 - put_device(&sdev->sdev_gendev); 322 + __scsi_remove_device(sdev); 327 323 out: 328 324 if (display_failure_msg) 329 325 printk(ALLOC_FAILURE_MSG, __func__);