Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull SCSI fixes from James Bottomley:
"Only one core change (and one in doc only) the rest are drivers.

The one core fix is for some inline encrypting drives that can't
handle encryption requests on non-data commands (like error handling
ones); it saves the request level encryption parameters in the eh_save
structure so they can be cleared for error handling and restored after
it is completed"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
scsi: ufs: host: mediatek: Make read-only array scale_us static const
scsi: bfa: Update outdated comment
scsi: mpt3sas: Update maintainer list
scsi: ufs: core: Configure MCQ after link startup
scsi: core: Fix error handler encryption support
scsi: core: Correct documentation for scsi_test_unit_ready()
scsi: ufs: dt-bindings: Fix several grammar errors

+40 -8
+2 -2
Documentation/devicetree/bindings/ufs/ufs-common.yaml
··· 48 48 enum: [1, 2] 49 49 default: 2 50 50 description: 51 - Number of lanes available per direction. Note that it is assume same 52 - number of lanes is used both directions at once. 51 + Number of lanes available per direction. Note that it is assumed that 52 + the same number of lanes are used in both directions at once. 53 53 54 54 vdd-hba-supply: 55 55 description:
+1
MAINTAINERS
··· 14880 14880 M: Sathya Prakash <sathya.prakash@broadcom.com> 14881 14881 M: Sreekanth Reddy <sreekanth.reddy@broadcom.com> 14882 14882 M: Suganath Prabu Subramani <suganath-prabu.subramani@broadcom.com> 14883 + M: Ranjan Kumar <ranjan.kumar@broadcom.com> 14883 14884 L: MPT-FusionLinux.pdl@broadcom.com 14884 14885 L: linux-scsi@vger.kernel.org 14885 14886 S: Supported
+1 -1
drivers/scsi/bfa/bfa_fcs.c
··· 1169 1169 * This function should be used only if there is any requirement 1170 1170 * to check for FOS version below 6.3. 1171 1171 * To check if the attached fabric is a brocade fabric, use 1172 - * bfa_lps_is_brcd_fabric() which works for FOS versions 6.3 1172 + * fabric->lps->brcd_switch which works for FOS versions 6.3 1173 1173 * or above only. 1174 1174 */ 1175 1175
+24
drivers/scsi/scsi_error.c
··· 1063 1063 unsigned char *cmnd, int cmnd_size, unsigned sense_bytes) 1064 1064 { 1065 1065 struct scsi_device *sdev = scmd->device; 1066 + #ifdef CONFIG_BLK_INLINE_ENCRYPTION 1067 + struct request *rq = scsi_cmd_to_rq(scmd); 1068 + #endif 1066 1069 1067 1070 /* 1068 1071 * We need saved copies of a number of fields - this is because ··· 1118 1115 (sdev->lun << 5 & 0xe0); 1119 1116 1120 1117 /* 1118 + * Encryption must be disabled for the commands submitted by the error handler. 1119 + * Hence, clear the encryption context information. 1120 + */ 1121 + #ifdef CONFIG_BLK_INLINE_ENCRYPTION 1122 + ses->rq_crypt_keyslot = rq->crypt_keyslot; 1123 + ses->rq_crypt_ctx = rq->crypt_ctx; 1124 + 1125 + rq->crypt_keyslot = NULL; 1126 + rq->crypt_ctx = NULL; 1127 + #endif 1128 + 1129 + /* 1121 1130 * Zero the sense buffer. The scsi spec mandates that any 1122 1131 * untransferred sense data should be interpreted as being zero. 1123 1132 */ ··· 1146 1131 */ 1147 1132 void scsi_eh_restore_cmnd(struct scsi_cmnd* scmd, struct scsi_eh_save *ses) 1148 1133 { 1134 + #ifdef CONFIG_BLK_INLINE_ENCRYPTION 1135 + struct request *rq = scsi_cmd_to_rq(scmd); 1136 + #endif 1137 + 1149 1138 /* 1150 1139 * Restore original data 1151 1140 */ ··· 1162 1143 scmd->underflow = ses->underflow; 1163 1144 scmd->prot_op = ses->prot_op; 1164 1145 scmd->eh_eflags = ses->eh_eflags; 1146 + 1147 + #ifdef CONFIG_BLK_INLINE_ENCRYPTION 1148 + rq->crypt_keyslot = ses->rq_crypt_keyslot; 1149 + rq->crypt_ctx = ses->rq_crypt_ctx; 1150 + #endif 1165 1151 } 1166 1152 EXPORT_SYMBOL(scsi_eh_restore_cmnd); 1167 1153
+1 -1
drivers/scsi/scsi_lib.c
··· 2459 2459 * @retries: number of retries before failing 2460 2460 * @sshdr: outpout pointer for decoded sense information. 2461 2461 * 2462 - * Returns zero if unsuccessful or an error if TUR failed. For 2462 + * Returns zero if successful or an error if TUR failed. For 2463 2463 * removable media, UNIT_ATTENTION sets ->changed flag. 2464 2464 **/ 2465 2465 int
+4 -3
drivers/ufs/core/ufshcd.c
··· 10736 10736 if (is_mcq_supported(hba)) { 10737 10737 ufshcd_mcq_enable(hba); 10738 10738 err = ufshcd_alloc_mcq(hba); 10739 - if (!err) { 10740 - ufshcd_config_mcq(hba); 10741 - } else { 10739 + if (err) { 10742 10740 /* Continue with SDB mode */ 10743 10741 ufshcd_mcq_disable(hba); 10744 10742 use_mcq_mode = false; ··· 11008 11010 err = ufshcd_link_startup(hba); 11009 11011 if (err) 11010 11012 goto out_disable; 11013 + 11014 + if (hba->mcq_enabled) 11015 + ufshcd_config_mcq(hba); 11011 11016 11012 11017 if (hba->quirks & UFSHCD_QUIRK_SKIP_PH_CONFIGURATION) 11013 11018 goto initialized;
+1 -1
drivers/ufs/host/ufs-mediatek.c
··· 1112 1112 unsigned long flags; 1113 1113 u32 ah_ms = 10; 1114 1114 u32 ah_scale, ah_timer; 1115 - u32 scale_us[] = {1, 10, 100, 1000, 10000, 100000}; 1115 + static const u32 scale_us[] = {1, 10, 100, 1000, 10000, 100000}; 1116 1116 1117 1117 if (ufshcd_is_clkgating_allowed(hba)) { 1118 1118 if (ufshcd_is_auto_hibern8_supported(hba) && hba->ahit) {
+6
include/scsi/scsi_eh.h
··· 41 41 unsigned char cmnd[32]; 42 42 struct scsi_data_buffer sdb; 43 43 struct scatterlist sense_sgl; 44 + 45 + /* struct request fields */ 46 + #ifdef CONFIG_BLK_INLINE_ENCRYPTION 47 + struct bio_crypt_ctx *rq_crypt_ctx; 48 + struct blk_crypto_keyslot *rq_crypt_keyslot; 49 + #endif 44 50 }; 45 51 46 52 extern void scsi_eh_prep_cmnd(struct scsi_cmnd *scmd,