scsi: qla2xxx: Fix sparse warnings triggered by the PCI state checking code
authorBart Van Assche <bvanassche@acm.org>
Thu, 20 Feb 2020 04:34:39 +0000 (20:34 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 29 Feb 2020 00:54:59 +0000 (19:54 -0500)
This patch fixes the following sparse warnings:

drivers/scsi/qla2xxx/qla_mbx.c:120:21: warning: restricted pci_channel_state_t degrades to integer
drivers/scsi/qla2xxx/qla_mbx.c:120:37: warning: restricted pci_channel_state_t degrades to integer

>From include/linux/pci.h:

enum pci_channel_state {
/* I/O channel is in normal state */
pci_channel_io_normal = (__force pci_channel_state_t) 1,

/* I/O to channel is blocked */
pci_channel_io_frozen = (__force pci_channel_state_t) 2,

/* PCI card is dead */
pci_channel_io_perm_failure = (__force pci_channel_state_t) 3,
};

Link: https://lore.kernel.org/r/20200220043441.20504-4-bvanassche@acm.org
Cc: Roman Bolshakov <r.bolshakov@yadro.com>
Cc: Martin Wilck <mwilck@suse.com>
Cc: Quinn Tran <qutran@marvell.com>
Reviewed-by: Daniel Wagner <dwagner@suse.de>
Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com>
Acked-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_mbx.c
drivers/scsi/qla2xxx/qla_mr.c

index 3bb6ab6..85e5a1b 100644 (file)
@@ -117,10 +117,9 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
 
        ql_dbg(ql_dbg_mbx, vha, 0x1000, "Entered %s.\n", __func__);
 
-       if (ha->pdev->error_state > pci_channel_io_frozen) {
+       if (ha->pdev->error_state == pci_channel_io_perm_failure) {
                ql_log(ql_log_warn, vha, 0x1001,
-                   "error_state is greater than pci_channel_io_frozen, "
-                   "exiting.\n");
+                   "PCI channel failed permanently, exiting.\n");
                return QLA_FUNCTION_TIMEOUT;
        }
 
index cad1fc2..6d12045 100644 (file)
@@ -53,10 +53,9 @@ qlafx00_mailbox_command(scsi_qla_host_t *vha, struct mbx_cmd_32 *mcp)
        struct qla_hw_data *ha = vha->hw;
        scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev);
 
-       if (ha->pdev->error_state > pci_channel_io_frozen) {
+       if (ha->pdev->error_state == pci_channel_io_perm_failure) {
                ql_log(ql_log_warn, vha, 0x115c,
-                   "error_state is greater than pci_channel_io_frozen, "
-                   "exiting.\n");
+                   "PCI channel failed permanently, exiting.\n");
                return QLA_FUNCTION_TIMEOUT;
        }