[SCSI] lpfc 8.3.42: Fixed inconsistent spin lock usage.

Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>

authored by James Smart and committed by James Bottomley 164cecd1 afbd8d88

+16 -18
+4 -4
drivers/scsi/lpfc/lpfc_init.c
··· 3031 3031 phba->sli4_hba.scsi_xri_max); 3032 3032 3033 3033 spin_lock_irq(&phba->scsi_buf_list_get_lock); 3034 - spin_lock_irq(&phba->scsi_buf_list_put_lock); 3034 + spin_lock(&phba->scsi_buf_list_put_lock); 3035 3035 list_splice_init(&phba->lpfc_scsi_buf_list_get, &scsi_sgl_list); 3036 3036 list_splice(&phba->lpfc_scsi_buf_list_put, &scsi_sgl_list); 3037 - spin_unlock_irq(&phba->scsi_buf_list_put_lock); 3037 + spin_unlock(&phba->scsi_buf_list_put_lock); 3038 3038 spin_unlock_irq(&phba->scsi_buf_list_get_lock); 3039 3039 3040 3040 if (phba->sli4_hba.scsi_xri_cnt > phba->sli4_hba.scsi_xri_max) { ··· 3070 3070 psb->cur_iocbq.sli4_xritag = phba->sli4_hba.xri_ids[lxri]; 3071 3071 } 3072 3072 spin_lock_irq(&phba->scsi_buf_list_get_lock); 3073 - spin_lock_irq(&phba->scsi_buf_list_put_lock); 3073 + spin_lock(&phba->scsi_buf_list_put_lock); 3074 3074 list_splice_init(&scsi_sgl_list, &phba->lpfc_scsi_buf_list_get); 3075 3075 INIT_LIST_HEAD(&phba->lpfc_scsi_buf_list_put); 3076 - spin_unlock_irq(&phba->scsi_buf_list_put_lock); 3076 + spin_unlock(&phba->scsi_buf_list_put_lock); 3077 3077 spin_unlock_irq(&phba->scsi_buf_list_get_lock); 3078 3078 3079 3079 return 0;
+12 -14
drivers/scsi/lpfc/lpfc_scsi.c
··· 926 926 927 927 /* get all SCSI buffers need to repost to a local list */ 928 928 spin_lock_irq(&phba->scsi_buf_list_get_lock); 929 - spin_lock_irq(&phba->scsi_buf_list_put_lock); 929 + spin_lock(&phba->scsi_buf_list_put_lock); 930 930 list_splice_init(&phba->lpfc_scsi_buf_list_get, &post_sblist); 931 931 list_splice(&phba->lpfc_scsi_buf_list_put, &post_sblist); 932 - spin_unlock_irq(&phba->scsi_buf_list_put_lock); 932 + spin_unlock(&phba->scsi_buf_list_put_lock); 933 933 spin_unlock_irq(&phba->scsi_buf_list_get_lock); 934 934 935 935 /* post the list of scsi buffer sgls to port if available */ ··· 1137 1137 { 1138 1138 struct lpfc_scsi_buf * lpfc_cmd = NULL; 1139 1139 struct list_head *scsi_buf_list_get = &phba->lpfc_scsi_buf_list_get; 1140 - unsigned long gflag = 0; 1141 - unsigned long pflag = 0; 1140 + unsigned long iflag = 0; 1142 1141 1143 - spin_lock_irqsave(&phba->scsi_buf_list_get_lock, gflag); 1142 + spin_lock_irqsave(&phba->scsi_buf_list_get_lock, iflag); 1144 1143 list_remove_head(scsi_buf_list_get, lpfc_cmd, struct lpfc_scsi_buf, 1145 1144 list); 1146 1145 if (!lpfc_cmd) { 1147 - spin_lock_irqsave(&phba->scsi_buf_list_put_lock, pflag); 1146 + spin_lock(&phba->scsi_buf_list_put_lock); 1148 1147 list_splice(&phba->lpfc_scsi_buf_list_put, 1149 1148 &phba->lpfc_scsi_buf_list_get); 1150 1149 INIT_LIST_HEAD(&phba->lpfc_scsi_buf_list_put); 1151 1150 list_remove_head(scsi_buf_list_get, lpfc_cmd, 1152 1151 struct lpfc_scsi_buf, list); 1153 - spin_unlock_irqrestore(&phba->scsi_buf_list_put_lock, pflag); 1152 + spin_unlock(&phba->scsi_buf_list_put_lock); 1154 1153 } 1155 - spin_unlock_irqrestore(&phba->scsi_buf_list_get_lock, gflag); 1154 + spin_unlock_irqrestore(&phba->scsi_buf_list_get_lock, iflag); 1156 1155 return lpfc_cmd; 1157 1156 } 1158 1157 /** ··· 1169 1170 lpfc_get_scsi_buf_s4(struct lpfc_hba *phba, struct lpfc_nodelist *ndlp) 1170 1171 { 1171 1172 struct lpfc_scsi_buf *lpfc_cmd, *lpfc_cmd_next; 1172 - unsigned long gflag = 0; 1173 - unsigned long pflag = 0; 1173 + unsigned long iflag = 0; 1174 1174 int found = 0; 1175 1175 1176 - spin_lock_irqsave(&phba->scsi_buf_list_get_lock, gflag); 1176 + spin_lock_irqsave(&phba->scsi_buf_list_get_lock, iflag); 1177 1177 list_for_each_entry_safe(lpfc_cmd, lpfc_cmd_next, 1178 1178 &phba->lpfc_scsi_buf_list_get, list) { 1179 1179 if (lpfc_test_rrq_active(phba, ndlp, ··· 1183 1185 break; 1184 1186 } 1185 1187 if (!found) { 1186 - spin_lock_irqsave(&phba->scsi_buf_list_put_lock, pflag); 1188 + spin_lock(&phba->scsi_buf_list_put_lock); 1187 1189 list_splice(&phba->lpfc_scsi_buf_list_put, 1188 1190 &phba->lpfc_scsi_buf_list_get); 1189 1191 INIT_LIST_HEAD(&phba->lpfc_scsi_buf_list_put); 1190 - spin_unlock_irqrestore(&phba->scsi_buf_list_put_lock, pflag); 1192 + spin_unlock(&phba->scsi_buf_list_put_lock); 1191 1193 list_for_each_entry_safe(lpfc_cmd, lpfc_cmd_next, 1192 1194 &phba->lpfc_scsi_buf_list_get, list) { 1193 1195 if (lpfc_test_rrq_active( ··· 1198 1200 break; 1199 1201 } 1200 1202 } 1201 - spin_unlock_irqrestore(&phba->scsi_buf_list_get_lock, gflag); 1203 + spin_unlock_irqrestore(&phba->scsi_buf_list_get_lock, iflag); 1202 1204 if (!found) 1203 1205 return NULL; 1204 1206 return lpfc_cmd;