]> www.infradead.org Git - users/jedix/linux-maple.git/commit
scsi: megaraid_sas: Block zero-length ATA VPD inquiry
authorChandrakanth Patil <chandrakanth.patil@broadcom.com>
Wed, 2 Apr 2025 19:37:34 +0000 (01:07 +0530)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 3 Apr 2025 15:16:19 +0000 (11:16 -0400)
commitaad9945623ab4029ae7789609fb6166c97976c62
tree258e43d6a08453814e4c12568cf3734476d55fd8
parenta63b69f05f999acae91b0b50d7c5fe4fb241dbaf
scsi: megaraid_sas: Block zero-length ATA VPD inquiry

A firmware bug was observed where ATA VPD inquiry commands with a
zero-length data payload were not handled and failed with a non-standard
status code of 0xf0.

Avoid sending ATA VPD inquiry commands without data payload by setting
the device no_vpd_size flag to 1. In addition, if the firmware returns a
status code of 0xf0, set scsi_cmnd->result to CHECK_CONDITION to
facilitate proper error handling.

Suggested-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Chandrakanth Patil <chandrakanth.patil@broadcom.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20250402193735.5098-1-chandrakanth.patil@broadcom.com
Tested-by: Ryan Lahfa <ryan@lahfa.xyz>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/megaraid/megaraid_sas_base.c
drivers/scsi/megaraid/megaraid_sas_fusion.c