Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 59d72d87 authored by Ravi Anand's avatar Ravi Anand Committed by James Bottomley
Browse files

[SCSI] qla2xxx: Ignore payload reserved-bits during RSCN processing.



As the driver is only interested in bits 0-9 of the 1st
RSCN-payload word:

	rsvd[15:14]RscnEventQualifier[13:10]Fmt[9:8]Domain[7:0]
	Area[15:8]Alpa[7:0]

Signed-off-by: default avatarRavi Anand <ravi.anand@qlogic.com>
Signed-off-by: default avatarAndrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
parent 2d136938
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -589,7 +589,7 @@ qla2x00_async_event(scsi_qla_host_t *ha, uint16_t *mb)
		    "scsi(%ld): RSCN database changed -- %04x %04x %04x.\n",
		    ha->host_no, mb[1], mb[2], mb[3]));

		rscn_entry = (mb[1] << 16) | mb[2];
		rscn_entry = ((mb[1] & 0xff) << 16) | mb[2];
		host_pid = (ha->d_id.b.domain << 16) | (ha->d_id.b.area << 8) |
		    ha->d_id.b.al_pa;
		if (rscn_entry == host_pid) {
@@ -600,6 +600,8 @@ qla2x00_async_event(scsi_qla_host_t *ha, uint16_t *mb)
			break;
		}

		/* Ignore reserved bits from RSCN-payload. */
		rscn_entry = ((mb[1] & 0x3ff) << 16) | mb[2];
		rscn_queue_index = ha->rscn_in_ptr + 1;
		if (rscn_queue_index == MAX_RSCN_COUNT)
			rscn_queue_index = 0;