SCSI fixes for 4.20-rc3
Subsystems (2)
James Bottomley
maintainerTwo small fixes. The qla2xxx is a regression from 4.18 and the ufs one is a device enablement fix.
The patch is available here:
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git scsi-fixes
The short changelog is:
Bill Kuzeja (1):
scsi: qla2xxx: Timeouts occur on surprise removal of QLogic adapter
Wei Li (1):
scsi: ufs: Fix hynix ufs bug with quirk on hi36xx SoC
And the diffstat:
drivers/scsi/qla2xxx/qla_os.c | 10 ++++++++-- drivers/scsi/ufs/ufs-hisi.c | 9 +++++++++ drivers/scsi/ufs/ufs_quirks.h | 6 ++++++ drivers/scsi/ufs/ufshcd.c | 2 ++ 4 files changed, 25 insertions(+), 2 deletions(-)
With full diff below.
James
---
drivers/scsi/qla2xxx/qla_os.c +8 -2
@@ -1749,7 +1749,7 @@ qla2x00_loop_reset(scsi_qla_host_t *vha)static void __qla2x00_abort_all_cmds (struct qla_qpair *qp,int res) { -int cnt; +int cnt, status;unsigned long flags;srb_t *sp;scsi_qla_host_t *vha = qp->vha;
@@ -1799,10 +1799,16 @@ __qla2x00_abort_all_cmds(struct qla_qpair *qp, int res)if (!sp_get (sp)) {spin_unlock_irqrestore (qp->qp_lock_ptr, flags); -qla2xxx_eh_abort ( + status =qla2xxx_eh_abort (GET_CMD_SP (sp));spin_lock_irqsave (qp->qp_lock_ptr, flags); +/* +* Get rid of extra reference caused +* by early exit from qla2xxx_eh_abort +*/ +if (status ==FAST_IO_FAIL ) +atomic_dec (&sp->ref_count); } } sp->done (sp, res);
drivers/scsi/ufs/ufs-hisi.c +9 -0
@@ -20,6 +20,7 @@#include "unipro.h" #include "ufs-hisi.h" #include "ufshci.h" +#include "ufs_quirks.h" static int ufs_hisi_check_hibern8 (struct ufs_hba *hba) {
@@ -390,6 +391,14 @@ static void ufs_hisi_set_dev_cap(struct ufs_hisi_dev_params *hisi_param)static void ufs_hisi_pwr_change_pre_change (struct ufs_hba *hba) { +if (hba->dev_quirks &UFS_DEVICE_QUIRK_HOST_VS_DEBUGSAVECONFIGTIME ) { +pr_info ("ufs flash device must set VS_DebugSaveConfigTime 0x10\n" ); +/* VS_DebugSaveConfigTime */ +ufshcd_dme_set (hba,UIC_ARG_MIB (0xD0A0 ),0x10 ); +/* sync length */ +ufshcd_dme_set (hba,UIC_ARG_MIB (0x1556 ),0x48 ); + } +/* update */ ufshcd_dme_set (hba,UIC_ARG_MIB (0x15A8 ),0x1 );/* PA_TxSkip */
drivers/scsi/ufs/ufs_quirks.h +6 -0
@@ -131,4 +131,10 @@ struct ufs_dev_fix {*/ #define UFS_DEVICE_QUIRK_HOST_PA_SAVECONFIGTIME (1 << 8) +/* +* Some UFS devices require VS_DebugSaveConfigTime is 0x10, +* enabling this quirk ensure this. +*/ +#define UFS_DEVICE_QUIRK_HOST_VS_DEBUGSAVECONFIGTIME (1 << 9) +#endif /* UFS_QUIRKS_H_ */
drivers/scsi/ufs/ufshcd.c +2 -0
@@ -231,6 +231,8 @@ static struct ufs_dev_fix ufs_fixups[] = {UFS_FIX (UFS_VENDOR_SKHYNIX ,UFS_ANY_MODEL ,UFS_DEVICE_NO_VCCQ ),UFS_FIX (UFS_VENDOR_SKHYNIX ,UFS_ANY_MODEL ,UFS_DEVICE_QUIRK_HOST_PA_SAVECONFIGTIME ), +UFS_FIX (UFS_VENDOR_SKHYNIX ,"hB8aL1" /*H28U62301AMR*/ , +UFS_DEVICE_QUIRK_HOST_VS_DEBUGSAVECONFIGTIME ), END_FIX };
The pull request you sent on Wed, 21 Nov 2018 21:34:13 -0800:
The pull request you sent on Wed, 21 Nov 2018 21:34:13 -0800:
Quoted 1 line
git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.gitscsi-fixes
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/b84b6345e3827ab616946b52f46e95179657b596
Thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker