]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: qla2xxx: Allow recovery for tape devices
authorShreyas Deodhar <sdeodhar@marvell.com>
Wed, 10 Dec 2025 10:15:58 +0000 (15:45 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 16 Feb 2026 09:19:45 +0000 (10:19 +0100)
commit b0335ee4fb94832a4ef68774ca7e7b33b473c7a6 upstream.

Tape device doesn't show up after RSCNs.  To fix this, remove tape
device specific checks which allows recovery of tape devices.

Fixes: 44c57f205876 ("scsi: qla2xxx: Changes to support FCP2 Target")
Cc: stable@vger.kernel.org
Signed-off-by: Shreyas Deodhar <sdeodhar@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Reviewed-by: Himanshu Madhani <hmadhani2024@gmail.com>
Link: https://patch.msgid.link/20251210101604.431868-7-njavali@marvell.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/qla2xxx/qla_gs.c
drivers/scsi/qla2xxx/qla_init.c

index f704682a0970cdbfad77372bda2b1ed82e1dc5a7..297c6b3e87feded1a38da474e00c360cbf111c15 100644 (file)
@@ -3266,9 +3266,6 @@ login_logout:
                            atomic_read(&fcport->state) == FCS_ONLINE) ||
                                do_delete) {
                                if (fcport->loop_id != FC_NO_LOOP_ID) {
-                                       if (fcport->flags & FCF_FCP2_DEVICE)
-                                               continue;
-
                                        ql_log(ql_log_warn, vha, 0x20f0,
                                               "%s %d %8phC post del sess\n",
                                               __func__, __LINE__,
index 6a2e1c7fd1251a3203870b1b1bbf5ec8d0b991d7..4186da332484fd272f99dc9a6eb7cdafe4c372cb 100644 (file)
@@ -1859,15 +1859,6 @@ void qla2x00_handle_rscn(scsi_qla_host_t *vha, struct event_arg *ea)
        case RSCN_PORT_ADDR:
                fcport = qla2x00_find_fcport_by_nportid(vha, &ea->id, 1);
                if (fcport) {
-                       if (ql2xfc2target &&
-                           fcport->flags & FCF_FCP2_DEVICE &&
-                           atomic_read(&fcport->state) == FCS_ONLINE) {
-                               ql_dbg(ql_dbg_disc, vha, 0x2115,
-                                      "Delaying session delete for FCP2 portid=%06x %8phC ",
-                                       fcport->d_id.b24, fcport->port_name);
-                               return;
-                       }
-
                        if (vha->hw->flags.edif_enabled && DBELL_ACTIVE(vha)) {
                                /*
                                 * On ipsec start by remote port, Target port