FAILED: patch "[PATCH] scsi: qla2xxx: Revert "scsi: qla2xxx: Fix response queue" failed to apply to 5.19-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 5.19-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 6dc45a7322cb9db48a5b6696597a00ef7c778ef9 Mon Sep 17 00:00:00 2001
From: Arun Easi <[email protected]>
Date: Fri, 26 Aug 2022 03:25:53 -0700
Subject: [PATCH] scsi: qla2xxx: Revert "scsi: qla2xxx: Fix response queue
handler reading stale packets"
Reverting this commit so that a fixed up patch, without adding new module parameters, can be submitted.
Link: https://lore.kernel.org/stable/[email protected]/
This reverts commit b1f707146923335849fb70237eec27d4d1ae7d62.
Reviewed-by Himanshu Madhani <[email protected]>
Signed-off-by Arun Easi <[email protected]>
Signed-off-by Nilesh Javali <[email protected]>
Signed-off-by Martin K. Petersen <[email protected]>
drivers/scsi/qla2xxx/qla_gbl.h +0 -2
@@ -193,8 +193,6 @@ extern int ql2xsecenable;extern int ql2xenforce_iocb_limit;extern int ql2xabts_wait_nvme;extern u32 ql2xnvme_queues; -extern int ql2xrspq_follow_inptr; -extern int ql2xrspq_follow_inptr_legacy;extern int qla2x00_loop_reset (scsi_qla_host_t *);extern void qla2x00_abort_all_cmds (scsi_qla_host_t *,int );
drivers/scsi/qla2xxx/qla_isr.c +2 -23
@@ -3763,8 +3763,7 @@ void qla24xx_process_response_queue(struct scsi_qla_host *vha,struct qla_hw_data *ha = vha->hw;struct purex_entry_24xx *purex_entry;struct purex_item *pure_item; -u16 rsp_in =0 , cur_ring_index; -int follow_inptr, is_shadow_hba; +u16 cur_ring_index;if (!ha->flags.fw_started)return ;
@@ -3774,25 +3773,7 @@ void qla24xx_process_response_queue(struct scsi_qla_host *vha,qla_cpu_update (rsp->qpair,smp_processor_id ()); } -#define __update_rsp_in (_update, _is_shadow_hba, _rsp, _rsp_in) \ - do { \ - if (_update) { \ - _rsp_in = _is_shadow_hba ? *(_rsp)->in_ptr : \ - rd_reg_dword_relaxed((_rsp)->rsp_q_in); \ - } \ - } while (0) - - is_shadow_hba =IS_SHADOW_REG_CAPABLE (ha); - follow_inptr = is_shadow_hba ? ql2xrspq_follow_inptr : - ql2xrspq_follow_inptr_legacy; - -__update_rsp_in (follow_inptr, is_shadow_hba, rsp, rsp_in); - -while ((likely (follow_inptr && - rsp->ring_index != rsp_in && - rsp->ring_ptr->signature !=RESPONSE_PROCESSED )) || - (!follow_inptr && - rsp->ring_ptr->signature !=RESPONSE_PROCESSED )) { +while (rsp->ring_ptr->signature !=RESPONSE_PROCESSED ) { pkt = (struct sts_entry_24xx *)rsp->ring_ptr; cur_ring_index = rsp->ring_index;
@@ -3906,8 +3887,6 @@ void qla24xx_process_response_queue(struct scsi_qla_host *vha, } pure_item =qla27xx_copy_fpin_pkt (vha, (void **)&pkt, &rsp); -__update_rsp_in (follow_inptr, is_shadow_hba, - rsp, rsp_in);if (!pure_item)break ; qla24xx_queue_purex_item(vha, pure_item,
drivers/scsi/qla2xxx/qla_os.c +0 -10
@@ -338,16 +338,6 @@ module_param(ql2xdelay_before_pci_error_handling, uint, 0644);MODULE_PARM_DESC (ql2xdelay_before_pci_error_handling,"Number of seconds delayed before qla begin PCI error self-handling (default: 5).\n" ); -int ql2xrspq_follow_inptr =1 ; -module_param (ql2xrspq_follow_inptr, int,0644 ); -MODULE_PARM_DESC (ql2xrspq_follow_inptr, -"Follow RSP IN pointer for RSP updates for HBAs 27xx and newer (default: 1)." ); - -int ql2xrspq_follow_inptr_legacy =1 ; -module_param (ql2xrspq_follow_inptr_legacy, int,0644 ); -MODULE_PARM_DESC (ql2xrspq_follow_inptr_legacy, -"Follow RSP IN pointer for RSP updates for HBAs older than 27XX. (default: 1)." ); -static void qla2x00_clear_drv_active (struct qla_hw_data *);static void qla2x00_free_device (scsi_qla_host_t *);static int qla2xxx_map_queues (struct Scsi_Host *shost);