diff options
author | David S. Miller <davem@davemloft.net> | 2011-11-21 13:50:33 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-11-21 13:50:33 -0500 |
commit | efd0bf97deeddd9ba53daabfc470a1399c6b0b2d (patch) | |
tree | eec56da5fbc796bac7c67f1990a18f5e0a304059 /drivers/scsi | |
parent | f8a15af093b19b86d56933c8757cee298d0f32a8 (diff) | |
parent | 6fe4c6d466e95d31164f14b1ac4aefb51f0f4f82 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
The forcedeth changes had a conflict with the conversion over
to atomic u64 statistics in net-next.
The libertas cfg.c code had a conflict with the bss reference
counting fix by John Linville in net-next.
Conflicts:
drivers/net/ethernet/nvidia/forcedeth.c
drivers/net/wireless/libertas/cfg.c
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/aacraid/linit.c | 4 | ||||
-rw-r--r-- | drivers/scsi/hpsa.c | 5 | ||||
-rw-r--r-- | drivers/scsi/mpt2sas/mpt2sas_scsih.c | 5 | ||||
-rw-r--r-- | drivers/scsi/scsi_lib.c | 3 | ||||
-rw-r--r-- | drivers/scsi/scsi_scan.c | 6 |
5 files changed, 17 insertions, 6 deletions
diff --git a/drivers/scsi/aacraid/linit.c b/drivers/scsi/aacraid/linit.c index 4aa76d6f11df..705e13e470af 100644 --- a/drivers/scsi/aacraid/linit.c +++ b/drivers/scsi/aacraid/linit.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include <linux/module.h> | 38 | #include <linux/module.h> |
39 | #include <linux/moduleparam.h> | 39 | #include <linux/moduleparam.h> |
40 | #include <linux/pci.h> | 40 | #include <linux/pci.h> |
41 | #include <linux/pci-aspm.h> | ||
41 | #include <linux/slab.h> | 42 | #include <linux/slab.h> |
42 | #include <linux/mutex.h> | 43 | #include <linux/mutex.h> |
43 | #include <linux/spinlock.h> | 44 | #include <linux/spinlock.h> |
@@ -1109,6 +1110,9 @@ static int __devinit aac_probe_one(struct pci_dev *pdev, | |||
1109 | unique_id++; | 1110 | unique_id++; |
1110 | } | 1111 | } |
1111 | 1112 | ||
1113 | pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S | PCIE_LINK_STATE_L1 | | ||
1114 | PCIE_LINK_STATE_CLKPM); | ||
1115 | |||
1112 | error = pci_enable_device(pdev); | 1116 | error = pci_enable_device(pdev); |
1113 | if (error) | 1117 | if (error) |
1114 | goto out; | 1118 | goto out; |
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c index e76107b2ade3..865d452542be 100644 --- a/drivers/scsi/hpsa.c +++ b/drivers/scsi/hpsa.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/interrupt.h> | 23 | #include <linux/interrupt.h> |
24 | #include <linux/types.h> | 24 | #include <linux/types.h> |
25 | #include <linux/pci.h> | 25 | #include <linux/pci.h> |
26 | #include <linux/pci-aspm.h> | ||
26 | #include <linux/kernel.h> | 27 | #include <linux/kernel.h> |
27 | #include <linux/slab.h> | 28 | #include <linux/slab.h> |
28 | #include <linux/delay.h> | 29 | #include <linux/delay.h> |
@@ -3922,6 +3923,10 @@ static int __devinit hpsa_pci_init(struct ctlr_info *h) | |||
3922 | dev_warn(&h->pdev->dev, "controller appears to be disabled\n"); | 3923 | dev_warn(&h->pdev->dev, "controller appears to be disabled\n"); |
3923 | return -ENODEV; | 3924 | return -ENODEV; |
3924 | } | 3925 | } |
3926 | |||
3927 | pci_disable_link_state(h->pdev, PCIE_LINK_STATE_L0S | | ||
3928 | PCIE_LINK_STATE_L1 | PCIE_LINK_STATE_CLKPM); | ||
3929 | |||
3925 | err = pci_enable_device(h->pdev); | 3930 | err = pci_enable_device(h->pdev); |
3926 | if (err) { | 3931 | if (err) { |
3927 | dev_warn(&h->pdev->dev, "unable to enable PCI device\n"); | 3932 | dev_warn(&h->pdev->dev, "unable to enable PCI device\n"); |
diff --git a/drivers/scsi/mpt2sas/mpt2sas_scsih.c b/drivers/scsi/mpt2sas/mpt2sas_scsih.c index 8889b1babcac..4e041f6d808c 100644 --- a/drivers/scsi/mpt2sas/mpt2sas_scsih.c +++ b/drivers/scsi/mpt2sas/mpt2sas_scsih.c | |||
@@ -2802,6 +2802,11 @@ _scsih_error_recovery_delete_devices(struct MPT2SAS_ADAPTER *ioc) | |||
2802 | 2802 | ||
2803 | if (ioc->is_driver_loading) | 2803 | if (ioc->is_driver_loading) |
2804 | return; | 2804 | return; |
2805 | |||
2806 | fw_event = kzalloc(sizeof(struct fw_event_work), GFP_ATOMIC); | ||
2807 | if (!fw_event) | ||
2808 | return; | ||
2809 | |||
2805 | fw_event->event = MPT2SAS_REMOVE_UNRESPONDING_DEVICES; | 2810 | fw_event->event = MPT2SAS_REMOVE_UNRESPONDING_DEVICES; |
2806 | fw_event->ioc = ioc; | 2811 | fw_event->ioc = ioc; |
2807 | _scsih_fw_event_add(ioc, fw_event); | 2812 | _scsih_fw_event_add(ioc, fw_event); |
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 06bc26554a67..f85cfa6c47b5 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c | |||
@@ -1409,6 +1409,8 @@ static void scsi_kill_request(struct request *req, struct request_queue *q) | |||
1409 | 1409 | ||
1410 | blk_start_request(req); | 1410 | blk_start_request(req); |
1411 | 1411 | ||
1412 | scmd_printk(KERN_INFO, cmd, "killing request\n"); | ||
1413 | |||
1412 | sdev = cmd->device; | 1414 | sdev = cmd->device; |
1413 | starget = scsi_target(sdev); | 1415 | starget = scsi_target(sdev); |
1414 | shost = sdev->host; | 1416 | shost = sdev->host; |
@@ -1490,7 +1492,6 @@ static void scsi_request_fn(struct request_queue *q) | |||
1490 | struct request *req; | 1492 | struct request *req; |
1491 | 1493 | ||
1492 | if (!sdev) { | 1494 | if (!sdev) { |
1493 | printk("scsi: killing requests for dead queue\n"); | ||
1494 | while ((req = blk_peek_request(q)) != NULL) | 1495 | while ((req = blk_peek_request(q)) != NULL) |
1495 | scsi_kill_request(req, q); | 1496 | scsi_kill_request(req, q); |
1496 | return; | 1497 | return; |
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index 72273a0e5666..b3c6d957fbd8 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c | |||
@@ -319,11 +319,7 @@ static struct scsi_device *scsi_alloc_sdev(struct scsi_target *starget, | |||
319 | return sdev; | 319 | return sdev; |
320 | 320 | ||
321 | out_device_destroy: | 321 | out_device_destroy: |
322 | scsi_device_set_state(sdev, SDEV_DEL); | 322 | __scsi_remove_device(sdev); |
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); | ||
327 | out: | 323 | out: |
328 | if (display_failure_msg) | 324 | if (display_failure_msg) |
329 | printk(ALLOC_FAILURE_MSG, __func__); | 325 | printk(ALLOC_FAILURE_MSG, __func__); |