Commit ed6de456 authored by James Bottomley's avatar James Bottomley

Merge remote-tracking branch 'mkp-scsi/4.10/scsi-fixes' into fixes

parents ad3efdb7 2dfa6688
...@@ -1583,7 +1583,7 @@ static void zfcp_fsf_open_wka_port_handler(struct zfcp_fsf_req *req) ...@@ -1583,7 +1583,7 @@ static void zfcp_fsf_open_wka_port_handler(struct zfcp_fsf_req *req)
int zfcp_fsf_open_wka_port(struct zfcp_fc_wka_port *wka_port) int zfcp_fsf_open_wka_port(struct zfcp_fc_wka_port *wka_port)
{ {
struct zfcp_qdio *qdio = wka_port->adapter->qdio; struct zfcp_qdio *qdio = wka_port->adapter->qdio;
struct zfcp_fsf_req *req = NULL; struct zfcp_fsf_req *req;
int retval = -EIO; int retval = -EIO;
spin_lock_irq(&qdio->req_q_lock); spin_lock_irq(&qdio->req_q_lock);
...@@ -1612,7 +1612,7 @@ int zfcp_fsf_open_wka_port(struct zfcp_fc_wka_port *wka_port) ...@@ -1612,7 +1612,7 @@ int zfcp_fsf_open_wka_port(struct zfcp_fc_wka_port *wka_port)
zfcp_fsf_req_free(req); zfcp_fsf_req_free(req);
out: out:
spin_unlock_irq(&qdio->req_q_lock); spin_unlock_irq(&qdio->req_q_lock);
if (req && !IS_ERR(req)) if (!retval)
zfcp_dbf_rec_run_wka("fsowp_1", wka_port, req->req_id); zfcp_dbf_rec_run_wka("fsowp_1", wka_port, req->req_id);
return retval; return retval;
} }
...@@ -1638,7 +1638,7 @@ static void zfcp_fsf_close_wka_port_handler(struct zfcp_fsf_req *req) ...@@ -1638,7 +1638,7 @@ static void zfcp_fsf_close_wka_port_handler(struct zfcp_fsf_req *req)
int zfcp_fsf_close_wka_port(struct zfcp_fc_wka_port *wka_port) int zfcp_fsf_close_wka_port(struct zfcp_fc_wka_port *wka_port)
{ {
struct zfcp_qdio *qdio = wka_port->adapter->qdio; struct zfcp_qdio *qdio = wka_port->adapter->qdio;
struct zfcp_fsf_req *req = NULL; struct zfcp_fsf_req *req;
int retval = -EIO; int retval = -EIO;
spin_lock_irq(&qdio->req_q_lock); spin_lock_irq(&qdio->req_q_lock);
...@@ -1667,7 +1667,7 @@ int zfcp_fsf_close_wka_port(struct zfcp_fc_wka_port *wka_port) ...@@ -1667,7 +1667,7 @@ int zfcp_fsf_close_wka_port(struct zfcp_fc_wka_port *wka_port)
zfcp_fsf_req_free(req); zfcp_fsf_req_free(req);
out: out:
spin_unlock_irq(&qdio->req_q_lock); spin_unlock_irq(&qdio->req_q_lock);
if (req && !IS_ERR(req)) if (!retval)
zfcp_dbf_rec_run_wka("fscwp_1", wka_port, req->req_id); zfcp_dbf_rec_run_wka("fscwp_1", wka_port, req->req_id);
return retval; return retval;
} }
......
...@@ -50,9 +50,13 @@ struct aac_common aac_config = { ...@@ -50,9 +50,13 @@ struct aac_common aac_config = {
static inline int aac_is_msix_mode(struct aac_dev *dev) static inline int aac_is_msix_mode(struct aac_dev *dev)
{ {
u32 status; u32 status = 0;
status = src_readl(dev, MUnit.OMR); if (dev->pdev->device == PMC_DEVICE_S6 ||
dev->pdev->device == PMC_DEVICE_S7 ||
dev->pdev->device == PMC_DEVICE_S8) {
status = src_readl(dev, MUnit.OMR);
}
return (status & AAC_INT_MODE_MSIX); return (status & AAC_INT_MODE_MSIX);
} }
......
...@@ -51,6 +51,7 @@ ...@@ -51,6 +51,7 @@
#include <linux/workqueue.h> #include <linux/workqueue.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/pci-aspm.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/aer.h> #include <linux/aer.h>
#include <linux/raid_class.h> #include <linux/raid_class.h>
...@@ -8761,6 +8762,8 @@ _scsih_probe(struct pci_dev *pdev, const struct pci_device_id *id) ...@@ -8761,6 +8762,8 @@ _scsih_probe(struct pci_dev *pdev, const struct pci_device_id *id)
switch (hba_mpi_version) { switch (hba_mpi_version) {
case MPI2_VERSION: case MPI2_VERSION:
pci_disable_link_state(pdev, PCIE_LINK_STATE_L0S |
PCIE_LINK_STATE_L1 | PCIE_LINK_STATE_CLKPM);
/* Use mpt2sas driver host template for SAS 2.0 HBA's */ /* Use mpt2sas driver host template for SAS 2.0 HBA's */
shost = scsi_host_alloc(&mpt2sas_driver_template, shost = scsi_host_alloc(&mpt2sas_driver_template,
sizeof(struct MPT3SAS_ADAPTER)); sizeof(struct MPT3SAS_ADAPTER));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment