Loading MAINTAINERS +1 −1 Original line number Diff line number Diff line Loading @@ -13359,7 +13359,7 @@ S: Maintained F: drivers/scsi/qla1280.[ch] QLOGIC QLA2XXX FC-SCSI DRIVER M: qla2xxx-upstream@qlogic.com M: hmadhani@marvell.com L: linux-scsi@vger.kernel.org S: Supported F: Documentation/scsi/LICENSE.qla2xxx Loading drivers/s390/scsi/zfcp_fsf.c +13 −3 Original line number Diff line number Diff line Loading @@ -27,6 +27,11 @@ struct kmem_cache *zfcp_fsf_qtcb_cache; static bool ber_stop = true; module_param(ber_stop, bool, 0600); MODULE_PARM_DESC(ber_stop, "Shuts down FCP devices for FCP channels that report a bit-error count in excess of its threshold (default on)"); static void zfcp_fsf_request_timeout_handler(struct timer_list *t) { struct zfcp_fsf_req *fsf_req = from_timer(fsf_req, t, timer); Loading Loading @@ -236,10 +241,15 @@ static void zfcp_fsf_status_read_handler(struct zfcp_fsf_req *req) case FSF_STATUS_READ_SENSE_DATA_AVAIL: break; case FSF_STATUS_READ_BIT_ERROR_THRESHOLD: dev_warn(&adapter->ccw_device->dev, "The error threshold for checksum statistics " "has been exceeded\n"); zfcp_dbf_hba_bit_err("fssrh_3", req); if (ber_stop) { dev_warn(&adapter->ccw_device->dev, "All paths over this FCP device are disused because of excessive bit errors\n"); zfcp_erp_adapter_shutdown(adapter, 0, "fssrh_b"); } else { dev_warn(&adapter->ccw_device->dev, "The error threshold for checksum statistics has been exceeded\n"); } break; case FSF_STATUS_READ_LINK_DOWN: zfcp_fsf_status_read_link_down(req); Loading drivers/scsi/bnx2fc/bnx2fc_io.c +24 −5 Original line number Diff line number Diff line Loading @@ -1923,6 +1923,7 @@ void bnx2fc_process_scsi_cmd_compl(struct bnx2fc_cmd *io_req, struct fcoe_fcp_rsp_payload *fcp_rsp; struct bnx2fc_rport *tgt = io_req->tgt; struct scsi_cmnd *sc_cmd; u16 scope = 0, qualifier = 0; /* scsi_cmd_cmpl is called with tgt lock held */ Loading Loading @@ -1990,12 +1991,30 @@ void bnx2fc_process_scsi_cmd_compl(struct bnx2fc_cmd *io_req, if (io_req->cdb_status == SAM_STAT_TASK_SET_FULL || io_req->cdb_status == SAM_STAT_BUSY) { /* Set the jiffies + retry_delay_timer * 100ms for the rport/tgt */ /* Newer array firmware with BUSY or * TASK_SET_FULL may return a status that needs * the scope bits masked. * Or a huge delay timestamp up to 27 minutes * can result. */ if (fcp_rsp->retry_delay_timer) { /* Upper 2 bits */ scope = fcp_rsp->retry_delay_timer & 0xC000; /* Lower 14 bits */ qualifier = fcp_rsp->retry_delay_timer & 0x3FFF; } if (scope > 0 && qualifier > 0 && qualifier <= 0x3FEF) { /* Set the jiffies + * retry_delay_timer * 100ms * for the rport/tgt */ tgt->retry_delay_timestamp = jiffies + fcp_rsp->retry_delay_timer * HZ / 10; (qualifier * HZ / 10); } } } if (io_req->fcp_resid) scsi_set_resid(sc_cmd, io_req->fcp_resid); Loading drivers/scsi/hisi_sas/hisi_sas_main.c +3 −3 Original line number Diff line number Diff line Loading @@ -3683,7 +3683,7 @@ void hisi_sas_debugfs_work_handler(struct work_struct *work) } EXPORT_SYMBOL_GPL(hisi_sas_debugfs_work_handler); void hisi_sas_debugfs_release(struct hisi_hba *hisi_hba) static void hisi_sas_debugfs_release(struct hisi_hba *hisi_hba) { struct device *dev = hisi_hba->dev; int i; Loading @@ -3705,7 +3705,7 @@ void hisi_sas_debugfs_release(struct hisi_hba *hisi_hba) devm_kfree(dev, hisi_hba->debugfs_port_reg[i]); } int hisi_sas_debugfs_alloc(struct hisi_hba *hisi_hba) static int hisi_sas_debugfs_alloc(struct hisi_hba *hisi_hba) { const struct hisi_sas_hw *hw = hisi_hba->hw; struct device *dev = hisi_hba->dev; Loading Loading @@ -3796,7 +3796,7 @@ int hisi_sas_debugfs_alloc(struct hisi_hba *hisi_hba) return -ENOMEM; } void hisi_sas_debugfs_bist_init(struct hisi_hba *hisi_hba) static void hisi_sas_debugfs_bist_init(struct hisi_hba *hisi_hba) { hisi_hba->debugfs_bist_dentry = debugfs_create_dir("bist", hisi_hba->debugfs_dir); Loading drivers/scsi/megaraid.c +2 −2 Original line number Diff line number Diff line Loading @@ -4183,11 +4183,11 @@ megaraid_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) */ if (pdev->subsystem_vendor == PCI_VENDOR_ID_COMPAQ && pdev->subsystem_device == 0xC000) return -ENODEV; goto out_disable_device; /* Now check the magic signature byte */ pci_read_config_word(pdev, PCI_CONF_AMISIG, &magic); if (magic != HBA_SIGNATURE_471 && magic != HBA_SIGNATURE) return -ENODEV; goto out_disable_device; /* Ok it is probably a megaraid */ } Loading Loading
MAINTAINERS +1 −1 Original line number Diff line number Diff line Loading @@ -13359,7 +13359,7 @@ S: Maintained F: drivers/scsi/qla1280.[ch] QLOGIC QLA2XXX FC-SCSI DRIVER M: qla2xxx-upstream@qlogic.com M: hmadhani@marvell.com L: linux-scsi@vger.kernel.org S: Supported F: Documentation/scsi/LICENSE.qla2xxx Loading
drivers/s390/scsi/zfcp_fsf.c +13 −3 Original line number Diff line number Diff line Loading @@ -27,6 +27,11 @@ struct kmem_cache *zfcp_fsf_qtcb_cache; static bool ber_stop = true; module_param(ber_stop, bool, 0600); MODULE_PARM_DESC(ber_stop, "Shuts down FCP devices for FCP channels that report a bit-error count in excess of its threshold (default on)"); static void zfcp_fsf_request_timeout_handler(struct timer_list *t) { struct zfcp_fsf_req *fsf_req = from_timer(fsf_req, t, timer); Loading Loading @@ -236,10 +241,15 @@ static void zfcp_fsf_status_read_handler(struct zfcp_fsf_req *req) case FSF_STATUS_READ_SENSE_DATA_AVAIL: break; case FSF_STATUS_READ_BIT_ERROR_THRESHOLD: dev_warn(&adapter->ccw_device->dev, "The error threshold for checksum statistics " "has been exceeded\n"); zfcp_dbf_hba_bit_err("fssrh_3", req); if (ber_stop) { dev_warn(&adapter->ccw_device->dev, "All paths over this FCP device are disused because of excessive bit errors\n"); zfcp_erp_adapter_shutdown(adapter, 0, "fssrh_b"); } else { dev_warn(&adapter->ccw_device->dev, "The error threshold for checksum statistics has been exceeded\n"); } break; case FSF_STATUS_READ_LINK_DOWN: zfcp_fsf_status_read_link_down(req); Loading
drivers/scsi/bnx2fc/bnx2fc_io.c +24 −5 Original line number Diff line number Diff line Loading @@ -1923,6 +1923,7 @@ void bnx2fc_process_scsi_cmd_compl(struct bnx2fc_cmd *io_req, struct fcoe_fcp_rsp_payload *fcp_rsp; struct bnx2fc_rport *tgt = io_req->tgt; struct scsi_cmnd *sc_cmd; u16 scope = 0, qualifier = 0; /* scsi_cmd_cmpl is called with tgt lock held */ Loading Loading @@ -1990,12 +1991,30 @@ void bnx2fc_process_scsi_cmd_compl(struct bnx2fc_cmd *io_req, if (io_req->cdb_status == SAM_STAT_TASK_SET_FULL || io_req->cdb_status == SAM_STAT_BUSY) { /* Set the jiffies + retry_delay_timer * 100ms for the rport/tgt */ /* Newer array firmware with BUSY or * TASK_SET_FULL may return a status that needs * the scope bits masked. * Or a huge delay timestamp up to 27 minutes * can result. */ if (fcp_rsp->retry_delay_timer) { /* Upper 2 bits */ scope = fcp_rsp->retry_delay_timer & 0xC000; /* Lower 14 bits */ qualifier = fcp_rsp->retry_delay_timer & 0x3FFF; } if (scope > 0 && qualifier > 0 && qualifier <= 0x3FEF) { /* Set the jiffies + * retry_delay_timer * 100ms * for the rport/tgt */ tgt->retry_delay_timestamp = jiffies + fcp_rsp->retry_delay_timer * HZ / 10; (qualifier * HZ / 10); } } } if (io_req->fcp_resid) scsi_set_resid(sc_cmd, io_req->fcp_resid); Loading
drivers/scsi/hisi_sas/hisi_sas_main.c +3 −3 Original line number Diff line number Diff line Loading @@ -3683,7 +3683,7 @@ void hisi_sas_debugfs_work_handler(struct work_struct *work) } EXPORT_SYMBOL_GPL(hisi_sas_debugfs_work_handler); void hisi_sas_debugfs_release(struct hisi_hba *hisi_hba) static void hisi_sas_debugfs_release(struct hisi_hba *hisi_hba) { struct device *dev = hisi_hba->dev; int i; Loading @@ -3705,7 +3705,7 @@ void hisi_sas_debugfs_release(struct hisi_hba *hisi_hba) devm_kfree(dev, hisi_hba->debugfs_port_reg[i]); } int hisi_sas_debugfs_alloc(struct hisi_hba *hisi_hba) static int hisi_sas_debugfs_alloc(struct hisi_hba *hisi_hba) { const struct hisi_sas_hw *hw = hisi_hba->hw; struct device *dev = hisi_hba->dev; Loading Loading @@ -3796,7 +3796,7 @@ int hisi_sas_debugfs_alloc(struct hisi_hba *hisi_hba) return -ENOMEM; } void hisi_sas_debugfs_bist_init(struct hisi_hba *hisi_hba) static void hisi_sas_debugfs_bist_init(struct hisi_hba *hisi_hba) { hisi_hba->debugfs_bist_dentry = debugfs_create_dir("bist", hisi_hba->debugfs_dir); Loading
drivers/scsi/megaraid.c +2 −2 Original line number Diff line number Diff line Loading @@ -4183,11 +4183,11 @@ megaraid_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) */ if (pdev->subsystem_vendor == PCI_VENDOR_ID_COMPAQ && pdev->subsystem_device == 0xC000) return -ENODEV; goto out_disable_device; /* Now check the magic signature byte */ pci_read_config_word(pdev, PCI_CONF_AMISIG, &magic); if (magic != HBA_SIGNATURE_471 && magic != HBA_SIGNATURE) return -ENODEV; goto out_disable_device; /* Ok it is probably a megaraid */ } Loading