diff options
-rw-r--r-- | drivers/scsi/qla2xxx/qla_def.h | 98 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_init.c | 20 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_isr.c | 12 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_mbx.c | 4 | ||||
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 8 |
5 files changed, 15 insertions, 127 deletions
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index 421c6343e1c1..757e31d62146 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h | |||
@@ -201,20 +201,7 @@ typedef struct srb { | |||
201 | /* | 201 | /* |
202 | * SRB flag definitions | 202 | * SRB flag definitions |
203 | */ | 203 | */ |
204 | #define SRB_TIMEOUT BIT_0 /* Command timed out */ | 204 | #define SRB_DMA_VALID BIT_0 /* Command sent to ISP */ |
205 | #define SRB_DMA_VALID BIT_1 /* Command sent to ISP */ | ||
206 | #define SRB_WATCHDOG BIT_2 /* Command on watchdog list */ | ||
207 | #define SRB_ABORT_PENDING BIT_3 /* Command abort sent to device */ | ||
208 | |||
209 | #define SRB_ABORTED BIT_4 /* Command aborted command already */ | ||
210 | #define SRB_RETRY BIT_5 /* Command needs retrying */ | ||
211 | #define SRB_GOT_SENSE BIT_6 /* Command has sense data */ | ||
212 | #define SRB_FAILOVER BIT_7 /* Command in failover state */ | ||
213 | |||
214 | #define SRB_BUSY BIT_8 /* Command is in busy retry state */ | ||
215 | #define SRB_FO_CANCEL BIT_9 /* Command don't need to do failover */ | ||
216 | #define SRB_IOCTL BIT_10 /* IOCTL command. */ | ||
217 | #define SRB_TAPE BIT_11 /* FCP2 (Tape) command. */ | ||
218 | 205 | ||
219 | /* | 206 | /* |
220 | * ISP I/O Register Set structure definitions. | 207 | * ISP I/O Register Set structure definitions. |
@@ -1570,39 +1557,13 @@ typedef struct fc_port { | |||
1570 | #define FCS_DEVICE_DEAD 2 | 1557 | #define FCS_DEVICE_DEAD 2 |
1571 | #define FCS_DEVICE_LOST 3 | 1558 | #define FCS_DEVICE_LOST 3 |
1572 | #define FCS_ONLINE 4 | 1559 | #define FCS_ONLINE 4 |
1573 | #define FCS_NOT_SUPPORTED 5 | ||
1574 | #define FCS_FAILOVER 6 | ||
1575 | #define FCS_FAILOVER_FAILED 7 | ||
1576 | 1560 | ||
1577 | /* | 1561 | /* |
1578 | * FC port flags. | 1562 | * FC port flags. |
1579 | */ | 1563 | */ |
1580 | #define FCF_FABRIC_DEVICE BIT_0 | 1564 | #define FCF_FABRIC_DEVICE BIT_0 |
1581 | #define FCF_LOGIN_NEEDED BIT_1 | 1565 | #define FCF_LOGIN_NEEDED BIT_1 |
1582 | #define FCF_FO_MASKED BIT_2 | 1566 | #define FCF_TAPE_PRESENT BIT_2 |
1583 | #define FCF_FAILOVER_NEEDED BIT_3 | ||
1584 | #define FCF_RESET_NEEDED BIT_4 | ||
1585 | #define FCF_PERSISTENT_BOUND BIT_5 | ||
1586 | #define FCF_TAPE_PRESENT BIT_6 | ||
1587 | #define FCF_FARP_DONE BIT_7 | ||
1588 | #define FCF_FARP_FAILED BIT_8 | ||
1589 | #define FCF_FARP_REPLY_NEEDED BIT_9 | ||
1590 | #define FCF_AUTH_REQ BIT_10 | ||
1591 | #define FCF_SEND_AUTH_REQ BIT_11 | ||
1592 | #define FCF_RECEIVE_AUTH_REQ BIT_12 | ||
1593 | #define FCF_AUTH_SUCCESS BIT_13 | ||
1594 | #define FCF_RLC_SUPPORT BIT_14 | ||
1595 | #define FCF_CONFIG BIT_15 /* Needed? */ | ||
1596 | #define FCF_RESCAN_NEEDED BIT_16 | ||
1597 | #define FCF_XP_DEVICE BIT_17 | ||
1598 | #define FCF_MSA_DEVICE BIT_18 | ||
1599 | #define FCF_EVA_DEVICE BIT_19 | ||
1600 | #define FCF_MSA_PORT_ACTIVE BIT_20 | ||
1601 | #define FCF_FAILBACK_DISABLE BIT_21 | ||
1602 | #define FCF_FAILOVER_DISABLE BIT_22 | ||
1603 | #define FCF_DSXXX_DEVICE BIT_23 | ||
1604 | #define FCF_AA_EVA_DEVICE BIT_24 | ||
1605 | #define FCF_AA_MSA_DEVICE BIT_25 | ||
1606 | 1567 | ||
1607 | /* No loop ID flag. */ | 1568 | /* No loop ID flag. */ |
1608 | #define FC_NO_LOOP_ID 0x1000 | 1569 | #define FC_NO_LOOP_ID 0x1000 |
@@ -2257,7 +2218,6 @@ struct qla_hw_data { | |||
2257 | uint32_t msix_enabled :1; | 2218 | uint32_t msix_enabled :1; |
2258 | uint32_t disable_serdes :1; | 2219 | uint32_t disable_serdes :1; |
2259 | uint32_t gpsc_supported :1; | 2220 | uint32_t gpsc_supported :1; |
2260 | uint32_t vsan_enabled :1; | ||
2261 | uint32_t npiv_supported :1; | 2221 | uint32_t npiv_supported :1; |
2262 | uint32_t fce_enabled :1; | 2222 | uint32_t fce_enabled :1; |
2263 | uint32_t fac_supported :1; | 2223 | uint32_t fac_supported :1; |
@@ -2302,7 +2262,6 @@ struct qla_hw_data { | |||
2302 | uint16_t max_loop_id; | 2262 | uint16_t max_loop_id; |
2303 | 2263 | ||
2304 | uint16_t fb_rev; | 2264 | uint16_t fb_rev; |
2305 | uint16_t max_public_loop_ids; | ||
2306 | uint16_t min_external_loopid; /* First external loop Id */ | 2265 | uint16_t min_external_loopid; /* First external loop Id */ |
2307 | 2266 | ||
2308 | #define PORT_SPEED_UNKNOWN 0xFFFF | 2267 | #define PORT_SPEED_UNKNOWN 0xFFFF |
@@ -2458,15 +2417,6 @@ struct qla_hw_data { | |||
2458 | struct completion mbx_cmd_comp; /* Serialize mbx access */ | 2417 | struct completion mbx_cmd_comp; /* Serialize mbx access */ |
2459 | struct completion mbx_intr_comp; /* Used for completion notification */ | 2418 | struct completion mbx_intr_comp; /* Used for completion notification */ |
2460 | 2419 | ||
2461 | uint32_t mbx_flags; | ||
2462 | #define MBX_IN_PROGRESS BIT_0 | ||
2463 | #define MBX_BUSY BIT_1 /* Got the Access */ | ||
2464 | #define MBX_SLEEPING_ON_SEM BIT_2 | ||
2465 | #define MBX_POLLING_FOR_COMP BIT_3 | ||
2466 | #define MBX_COMPLETED BIT_4 | ||
2467 | #define MBX_TIMEDOUT BIT_5 | ||
2468 | #define MBX_ACCESS_TIMEDOUT BIT_6 | ||
2469 | |||
2470 | /* Basic firmware related information. */ | 2420 | /* Basic firmware related information. */ |
2471 | uint16_t fw_major_version; | 2421 | uint16_t fw_major_version; |
2472 | uint16_t fw_minor_version; | 2422 | uint16_t fw_minor_version; |
@@ -2619,36 +2569,19 @@ typedef struct scsi_qla_host { | |||
2619 | #define LOOP_RESYNC_ACTIVE 5 | 2569 | #define LOOP_RESYNC_ACTIVE 5 |
2620 | #define LOCAL_LOOP_UPDATE 6 /* Perform a local loop update. */ | 2570 | #define LOCAL_LOOP_UPDATE 6 /* Perform a local loop update. */ |
2621 | #define RSCN_UPDATE 7 /* Perform an RSCN update. */ | 2571 | #define RSCN_UPDATE 7 /* Perform an RSCN update. */ |
2622 | #define MAILBOX_RETRY 8 | 2572 | #define RELOGIN_NEEDED 8 |
2623 | #define ISP_RESET_NEEDED 9 /* Initiate a ISP reset. */ | 2573 | #define REGISTER_FC4_NEEDED 9 /* SNS FC4 registration required. */ |
2624 | #define FAILOVER_EVENT_NEEDED 10 | 2574 | #define ISP_ABORT_RETRY 10 /* ISP aborted. */ |
2625 | #define FAILOVER_EVENT 11 | 2575 | #define BEACON_BLINK_NEEDED 11 |
2626 | #define FAILOVER_NEEDED 12 | 2576 | #define REGISTER_FDMI_NEEDED 12 |
2627 | #define SCSI_RESTART_NEEDED 13 /* Processes SCSI retry queue. */ | 2577 | #define FCPORT_UPDATE_NEEDED 13 |
2628 | #define PORT_RESTART_NEEDED 14 /* Processes Retry queue. */ | 2578 | #define VP_DPC_NEEDED 14 /* wake up for VP dpc handling */ |
2629 | #define RESTART_QUEUES_NEEDED 15 /* Restarts the Lun queue. */ | 2579 | #define UNLOADING 15 |
2630 | #define ABORT_QUEUES_NEEDED 16 | 2580 | #define NPIV_CONFIG_NEEDED 16 |
2631 | #define RELOGIN_NEEDED 17 | ||
2632 | #define LOGIN_RETRY_NEEDED 18 /* Initiate required fabric logins. */ | ||
2633 | #define REGISTER_FC4_NEEDED 19 /* SNS FC4 registration required. */ | ||
2634 | #define ISP_ABORT_RETRY 20 /* ISP aborted. */ | ||
2635 | #define FCPORT_RESCAN_NEEDED 21 /* IO descriptor processing needed */ | ||
2636 | #define IODESC_PROCESS_NEEDED 22 /* IO descriptor processing needed */ | ||
2637 | #define IOCTL_ERROR_RECOVERY 23 | ||
2638 | #define LOOP_RESET_NEEDED 24 | ||
2639 | #define BEACON_BLINK_NEEDED 25 | ||
2640 | #define REGISTER_FDMI_NEEDED 26 | ||
2641 | #define FCPORT_UPDATE_NEEDED 27 | ||
2642 | #define VP_DPC_NEEDED 28 /* wake up for VP dpc handling */ | ||
2643 | #define UNLOADING 29 | ||
2644 | #define NPIV_CONFIG_NEEDED 30 | ||
2645 | 2581 | ||
2646 | uint32_t device_flags; | 2582 | uint32_t device_flags; |
2647 | #define DFLG_LOCAL_DEVICES BIT_0 | 2583 | #define SWITCH_FOUND BIT_0 |
2648 | #define DFLG_RETRY_LOCAL_DEVICES BIT_1 | 2584 | #define DFLG_NO_CABLE BIT_1 |
2649 | #define DFLG_FABRIC_DEVICES BIT_2 | ||
2650 | #define SWITCH_FOUND BIT_3 | ||
2651 | #define DFLG_NO_CABLE BIT_4 | ||
2652 | 2585 | ||
2653 | srb_t *status_srb; /* Status continuation entry. */ | 2586 | srb_t *status_srb; /* Status continuation entry. */ |
2654 | 2587 | ||
@@ -2761,10 +2694,5 @@ typedef struct scsi_qla_host { | |||
2761 | #include "qla_inline.h" | 2694 | #include "qla_inline.h" |
2762 | 2695 | ||
2763 | #define CMD_SP(Cmnd) ((Cmnd)->SCp.ptr) | 2696 | #define CMD_SP(Cmnd) ((Cmnd)->SCp.ptr) |
2764 | #define CMD_COMPL_STATUS(Cmnd) ((Cmnd)->SCp.this_residual) | ||
2765 | #define CMD_RESID_LEN(Cmnd) ((Cmnd)->SCp.buffers_residual) | ||
2766 | #define CMD_SCSI_STATUS(Cmnd) ((Cmnd)->SCp.Status) | ||
2767 | #define CMD_ACTUAL_SNSLEN(Cmnd) ((Cmnd)->SCp.Message) | ||
2768 | #define CMD_ENTRY_STATUS(Cmnd) ((Cmnd)->SCp.have_data_in) | ||
2769 | 2697 | ||
2770 | #endif | 2698 | #endif |
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index a2747501fdde..d525808afc4e 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c | |||
@@ -72,7 +72,6 @@ qla2x00_initialize_adapter(scsi_qla_host_t *vha) | |||
72 | vha->dpc_flags = 0; | 72 | vha->dpc_flags = 0; |
73 | vha->flags.management_server_logged_in = 0; | 73 | vha->flags.management_server_logged_in = 0; |
74 | vha->marker_needed = 0; | 74 | vha->marker_needed = 0; |
75 | ha->mbx_flags = 0; | ||
76 | ha->isp_abort_cnt = 0; | 75 | ha->isp_abort_cnt = 0; |
77 | ha->beacon_blink_led = 0; | 76 | ha->beacon_blink_led = 0; |
78 | set_bit(REGISTER_FDMI_NEEDED, &vha->dpc_flags); | 77 | set_bit(REGISTER_FDMI_NEEDED, &vha->dpc_flags); |
@@ -515,7 +514,6 @@ qla2x00_reset_chip(scsi_qla_host_t *vha) | |||
515 | static inline void | 514 | static inline void |
516 | qla24xx_reset_risc(scsi_qla_host_t *vha) | 515 | qla24xx_reset_risc(scsi_qla_host_t *vha) |
517 | { | 516 | { |
518 | int hw_evt = 0; | ||
519 | unsigned long flags = 0; | 517 | unsigned long flags = 0; |
520 | struct qla_hw_data *ha = vha->hw; | 518 | struct qla_hw_data *ha = vha->hw; |
521 | struct device_reg_24xx __iomem *reg = &ha->iobase->isp24; | 519 | struct device_reg_24xx __iomem *reg = &ha->iobase->isp24; |
@@ -545,8 +543,6 @@ qla24xx_reset_risc(scsi_qla_host_t *vha) | |||
545 | d2 = (uint32_t) RD_REG_WORD(®->mailbox0); | 543 | d2 = (uint32_t) RD_REG_WORD(®->mailbox0); |
546 | barrier(); | 544 | barrier(); |
547 | } | 545 | } |
548 | if (cnt == 0) | ||
549 | hw_evt = 1; | ||
550 | 546 | ||
551 | /* Wait for soft-reset to complete. */ | 547 | /* Wait for soft-reset to complete. */ |
552 | d2 = RD_REG_DWORD(®->ctrl_status); | 548 | d2 = RD_REG_DWORD(®->ctrl_status); |
@@ -2011,7 +2007,6 @@ qla2x00_alloc_fcport(scsi_qla_host_t *vha, gfp_t flags) | |||
2011 | fcport->port_type = FCT_UNKNOWN; | 2007 | fcport->port_type = FCT_UNKNOWN; |
2012 | fcport->loop_id = FC_NO_LOOP_ID; | 2008 | fcport->loop_id = FC_NO_LOOP_ID; |
2013 | atomic_set(&fcport->state, FCS_UNCONFIGURED); | 2009 | atomic_set(&fcport->state, FCS_UNCONFIGURED); |
2014 | fcport->flags = FCF_RLC_SUPPORT; | ||
2015 | fcport->supported_classes = FC_COS_UNSPECIFIED; | 2010 | fcport->supported_classes = FC_COS_UNSPECIFIED; |
2016 | 2011 | ||
2017 | return fcport; | 2012 | return fcport; |
@@ -2193,7 +2188,6 @@ qla2x00_configure_local_loop(scsi_qla_host_t *vha) | |||
2193 | vha->host_no, fcport->loop_id)); | 2188 | vha->host_no, fcport->loop_id)); |
2194 | 2189 | ||
2195 | atomic_set(&fcport->state, FCS_DEVICE_LOST); | 2190 | atomic_set(&fcport->state, FCS_DEVICE_LOST); |
2196 | fcport->flags &= ~FCF_FARP_DONE; | ||
2197 | } | 2191 | } |
2198 | } | 2192 | } |
2199 | 2193 | ||
@@ -2250,8 +2244,7 @@ qla2x00_configure_local_loop(scsi_qla_host_t *vha) | |||
2250 | WWN_SIZE)) | 2244 | WWN_SIZE)) |
2251 | continue; | 2245 | continue; |
2252 | 2246 | ||
2253 | fcport->flags &= ~(FCF_FABRIC_DEVICE | | 2247 | fcport->flags &= ~FCF_FABRIC_DEVICE; |
2254 | FCF_PERSISTENT_BOUND); | ||
2255 | fcport->loop_id = new_fcport->loop_id; | 2248 | fcport->loop_id = new_fcport->loop_id; |
2256 | fcport->port_type = new_fcport->port_type; | 2249 | fcport->port_type = new_fcport->port_type; |
2257 | fcport->d_id.b24 = new_fcport->d_id.b24; | 2250 | fcport->d_id.b24 = new_fcport->d_id.b24; |
@@ -2264,7 +2257,6 @@ qla2x00_configure_local_loop(scsi_qla_host_t *vha) | |||
2264 | 2257 | ||
2265 | if (!found) { | 2258 | if (!found) { |
2266 | /* New device, add to fcports list. */ | 2259 | /* New device, add to fcports list. */ |
2267 | new_fcport->flags &= ~FCF_PERSISTENT_BOUND; | ||
2268 | if (vha->vp_idx) { | 2260 | if (vha->vp_idx) { |
2269 | new_fcport->vha = vha; | 2261 | new_fcport->vha = vha; |
2270 | new_fcport->vp_idx = vha->vp_idx; | 2262 | new_fcport->vp_idx = vha->vp_idx; |
@@ -2297,11 +2289,6 @@ cleanup_allocation: | |||
2297 | "rval=%x\n", vha->host_no, rval)); | 2289 | "rval=%x\n", vha->host_no, rval)); |
2298 | } | 2290 | } |
2299 | 2291 | ||
2300 | if (found_devs) { | ||
2301 | vha->device_flags |= DFLG_LOCAL_DEVICES; | ||
2302 | vha->device_flags &= ~DFLG_RETRY_LOCAL_DEVICES; | ||
2303 | } | ||
2304 | |||
2305 | return (rval); | 2292 | return (rval); |
2306 | } | 2293 | } |
2307 | 2294 | ||
@@ -2787,7 +2774,6 @@ qla2x00_find_all_fabric_devs(scsi_qla_host_t *vha, | |||
2787 | fcport->loop_id = FC_NO_LOOP_ID; | 2774 | fcport->loop_id = FC_NO_LOOP_ID; |
2788 | fcport->flags |= (FCF_FABRIC_DEVICE | | 2775 | fcport->flags |= (FCF_FABRIC_DEVICE | |
2789 | FCF_LOGIN_NEEDED); | 2776 | FCF_LOGIN_NEEDED); |
2790 | fcport->flags &= ~FCF_PERSISTENT_BOUND; | ||
2791 | break; | 2777 | break; |
2792 | } | 2778 | } |
2793 | 2779 | ||
@@ -2830,9 +2816,6 @@ qla2x00_find_all_fabric_devs(scsi_qla_host_t *vha, | |||
2830 | kfree(swl); | 2816 | kfree(swl); |
2831 | kfree(new_fcport); | 2817 | kfree(new_fcport); |
2832 | 2818 | ||
2833 | if (!list_empty(new_fcports)) | ||
2834 | vha->device_flags |= DFLG_FABRIC_DEVICES; | ||
2835 | |||
2836 | return (rval); | 2819 | return (rval); |
2837 | } | 2820 | } |
2838 | 2821 | ||
@@ -3015,7 +2998,6 @@ qla2x00_device_resync(scsi_qla_host_t *vha) | |||
3015 | 0, 0); | 2998 | 0, 0); |
3016 | } | 2999 | } |
3017 | } | 3000 | } |
3018 | fcport->flags &= ~FCF_FARP_DONE; | ||
3019 | } | 3001 | } |
3020 | } | 3002 | } |
3021 | return (rval); | 3003 | return (rval); |
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index 8e91f4aec977..0f03812861b3 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c | |||
@@ -852,9 +852,6 @@ qla2x00_process_completed_request(struct scsi_qla_host *vha, | |||
852 | /* Free outstanding command slot. */ | 852 | /* Free outstanding command slot. */ |
853 | req->outstanding_cmds[index] = NULL; | 853 | req->outstanding_cmds[index] = NULL; |
854 | 854 | ||
855 | CMD_COMPL_STATUS(sp->cmd) = 0L; | ||
856 | CMD_SCSI_STATUS(sp->cmd) = 0L; | ||
857 | |||
858 | /* Save ISP completion status */ | 855 | /* Save ISP completion status */ |
859 | sp->cmd->result = DID_OK << 16; | 856 | sp->cmd->result = DID_OK << 16; |
860 | 857 | ||
@@ -955,7 +952,6 @@ qla2x00_handle_sense(srb_t *sp, uint8_t *sense_data, uint32_t sense_len) | |||
955 | if (sense_len >= SCSI_SENSE_BUFFERSIZE) | 952 | if (sense_len >= SCSI_SENSE_BUFFERSIZE) |
956 | sense_len = SCSI_SENSE_BUFFERSIZE; | 953 | sense_len = SCSI_SENSE_BUFFERSIZE; |
957 | 954 | ||
958 | CMD_ACTUAL_SNSLEN(cp) = sense_len; | ||
959 | sp->request_sense_length = sense_len; | 955 | sp->request_sense_length = sense_len; |
960 | sp->request_sense_ptr = cp->sense_buffer; | 956 | sp->request_sense_ptr = cp->sense_buffer; |
961 | if (sp->request_sense_length > 32) | 957 | if (sp->request_sense_length > 32) |
@@ -973,8 +969,7 @@ qla2x00_handle_sense(srb_t *sp, uint8_t *sense_data, uint32_t sense_len) | |||
973 | cp->device->channel, cp->device->id, cp->device->lun, cp, | 969 | cp->device->channel, cp->device->id, cp->device->lun, cp, |
974 | cp->serial_number)); | 970 | cp->serial_number)); |
975 | if (sense_len) | 971 | if (sense_len) |
976 | DEBUG5(qla2x00_dump_buffer(cp->sense_buffer, | 972 | DEBUG5(qla2x00_dump_buffer(cp->sense_buffer, sense_len)); |
977 | CMD_ACTUAL_SNSLEN(cp))); | ||
978 | } | 973 | } |
979 | 974 | ||
980 | /** | 975 | /** |
@@ -1043,9 +1038,6 @@ qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) | |||
1043 | } | 1038 | } |
1044 | 1039 | ||
1045 | lscsi_status = scsi_status & STATUS_MASK; | 1040 | lscsi_status = scsi_status & STATUS_MASK; |
1046 | CMD_ENTRY_STATUS(cp) = sts->entry_status; | ||
1047 | CMD_COMPL_STATUS(cp) = comp_status; | ||
1048 | CMD_SCSI_STATUS(cp) = scsi_status; | ||
1049 | 1041 | ||
1050 | fcport = sp->fcport; | 1042 | fcport = sp->fcport; |
1051 | 1043 | ||
@@ -1104,7 +1096,6 @@ qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) | |||
1104 | if (scsi_status & (SS_RESIDUAL_UNDER | SS_RESIDUAL_OVER)) { | 1096 | if (scsi_status & (SS_RESIDUAL_UNDER | SS_RESIDUAL_OVER)) { |
1105 | resid = resid_len; | 1097 | resid = resid_len; |
1106 | scsi_set_resid(cp, resid); | 1098 | scsi_set_resid(cp, resid); |
1107 | CMD_RESID_LEN(cp) = resid; | ||
1108 | 1099 | ||
1109 | if (!lscsi_status && | 1100 | if (!lscsi_status && |
1110 | ((unsigned)(scsi_bufflen(cp) - resid) < | 1101 | ((unsigned)(scsi_bufflen(cp) - resid) < |
@@ -1160,7 +1151,6 @@ qla2x00_status_entry(scsi_qla_host_t *vha, struct rsp_que *rsp, void *pkt) | |||
1160 | 1151 | ||
1161 | if (scsi_status & SS_RESIDUAL_UNDER) { | 1152 | if (scsi_status & SS_RESIDUAL_UNDER) { |
1162 | scsi_set_resid(cp, resid); | 1153 | scsi_set_resid(cp, resid); |
1163 | CMD_RESID_LEN(cp) = resid; | ||
1164 | } else { | 1154 | } else { |
1165 | DEBUG2(printk(KERN_INFO | 1155 | DEBUG2(printk(KERN_INFO |
1166 | "scsi(%ld:%d:%d) UNDERRUN status detected " | 1156 | "scsi(%ld:%d:%d) UNDERRUN status detected " |
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index dc5e5d9530c1..7af9bd73a10d 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c | |||
@@ -1197,10 +1197,6 @@ qla2x00_get_port_database(scsi_qla_host_t *vha, fc_port_t *fcport, uint8_t opt) | |||
1197 | fcport->d_id.b.al_pa = pd->port_id[2]; | 1197 | fcport->d_id.b.al_pa = pd->port_id[2]; |
1198 | fcport->d_id.b.rsvd_1 = 0; | 1198 | fcport->d_id.b.rsvd_1 = 0; |
1199 | 1199 | ||
1200 | /* Check for device require authentication. */ | ||
1201 | pd->common_features & BIT_5 ? (fcport->flags |= FCF_AUTH_REQ) : | ||
1202 | (fcport->flags &= ~FCF_AUTH_REQ); | ||
1203 | |||
1204 | /* If not target must be initiator or unknown type. */ | 1200 | /* If not target must be initiator or unknown type. */ |
1205 | if ((pd->prli_svc_param_word_3[0] & BIT_4) == 0) | 1201 | if ((pd->prli_svc_param_word_3[0] & BIT_4) == 0) |
1206 | fcport->port_type = FCT_INITIATOR; | 1202 | fcport->port_type = FCT_INITIATOR; |
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 1c3d165c035b..ba3309f85560 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -2856,19 +2856,11 @@ qla2x00_timer(scsi_qla_host_t *vha) | |||
2856 | spin_unlock_irqrestore(&ha->hardware_lock, | 2856 | spin_unlock_irqrestore(&ha->hardware_lock, |
2857 | cpu_flags); | 2857 | cpu_flags); |
2858 | } | 2858 | } |
2859 | set_bit(ABORT_QUEUES_NEEDED, &vha->dpc_flags); | ||
2860 | start_dpc++; | 2859 | start_dpc++; |
2861 | } | 2860 | } |
2862 | 2861 | ||
2863 | /* if the loop has been down for 4 minutes, reinit adapter */ | 2862 | /* if the loop has been down for 4 minutes, reinit adapter */ |
2864 | if (atomic_dec_and_test(&vha->loop_down_timer) != 0) { | 2863 | if (atomic_dec_and_test(&vha->loop_down_timer) != 0) { |
2865 | DEBUG(printk("scsi(%ld): Loop down exceed 4 mins - " | ||
2866 | "restarting queues.\n", | ||
2867 | vha->host_no)); | ||
2868 | |||
2869 | set_bit(RESTART_QUEUES_NEEDED, &vha->dpc_flags); | ||
2870 | start_dpc++; | ||
2871 | |||
2872 | if (!(vha->device_flags & DFLG_NO_CABLE) && | 2864 | if (!(vha->device_flags & DFLG_NO_CABLE) && |
2873 | !vha->vp_idx) { | 2865 | !vha->vp_idx) { |
2874 | DEBUG(printk("scsi(%ld): Loop down - " | 2866 | DEBUG(printk("scsi(%ld): Loop down - " |