Message ID | 20220220031810.738362-1-damien.lemoal@opensource.wdc.com |
---|---|
Headers | show |
Series | libsas and pm8001 fixes | expand |
On 20/02/2022 03:18, Damien Le Moal wrote: > To detect if a command is NCQ, there is no need to test all possible NCQ > command codes. Instead, use ata_is_ncq() to test the command protocol. > > Signed-off-by: Damien Le Moal<damien.lemoal@opensource.wdc.com> Reviewed-by: John Garry <john.garry@huawei.com>
Damien, > This first part of this series (patches 1 to 24) fixes handling of NCQ > NON DATA commands in libsas and many bugs in the pm8001 driver. > > The fixes for the pm8001 driver include: > * Suppression of all sparse warnings, fixing along the way many le32 > handling bugs for big-endian architectures > * Fix handling of NCQ NON DATA commands > * Fix of tag values handling (0 *is* a valid tag value) > * Fix many tag iand memory leaks in error path > * Fix NCQ error recovery (abort all task execution) that was causing a > crash > > The second part of the series (patches 24 to 31) add a small cleanup of > libsas code and many simplifications and iomprovements of the pm8001 > driver code. Applied to 5.18/scsi-staging, thanks!
On Sun, 20 Feb 2022 12:17:39 +0900, Damien Le Moal wrote: > This first part of this series (patches 1 to 24) fixes handling of NCQ > NON DATA commands in libsas and many bugs in the pm8001 driver. > > The fixes for the pm8001 driver include: > * Suppression of all sparse warnings, fixing along the way many le32 > handling bugs for big-endian architectures > * Fix handling of NCQ NON DATA commands > * Fix of tag values handling (0 *is* a valid tag value) > * Fix many tag iand memory leaks in error path > * Fix NCQ error recovery (abort all task execution) that was causing a > crash > > [...] Applied to 5.18/scsi-queue, thanks! [01/31] scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands https://git.kernel.org/mkp/scsi/c/8454563e4c2a [02/31] scsi: pm8001: Fix __iomem pointer use in pm8001_phy_control() https://git.kernel.org/mkp/scsi/c/d2ed913b9a42 [03/31] scsi: pm8001: Fix pm8001_update_flash() local variable type https://git.kernel.org/mkp/scsi/c/c58e935e809a [04/31] scsi: pm8001: Fix command initialization in pm80XX_send_read_log() https://git.kernel.org/mkp/scsi/c/1a37b6738b58 [05/31] scsi: pm8001: Fix pm80xx_pci_mem_copy() interface https://git.kernel.org/mkp/scsi/c/3762d8f6edcd [06/31] scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req() https://git.kernel.org/mkp/scsi/c/cd2268a18011 [07/31] scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config() https://git.kernel.org/mkp/scsi/c/bb225b12dbcc [08/31] scsi: pm8001: Fix le32 values handling in pm80xx_set_sas_protocol_timer_config() https://git.kernel.org/mkp/scsi/c/ca374f5d92b8 [09/31] scsi: pm8001: Fix payload initialization in pm80xx_encrypt_update() https://git.kernel.org/mkp/scsi/c/f8b12dfb476d [10/31] scsi: pm8001: Fix le32 values handling in pm80xx_chip_ssp_io_req() https://git.kernel.org/mkp/scsi/c/970404cc5744 [11/31] scsi: pm8001: Fix le32 values handling in pm80xx_chip_sata_req() https://git.kernel.org/mkp/scsi/c/fd6d0e376211 [12/31] scsi: pm8001: Fix use of struct set_phy_profile_req fields https://git.kernel.org/mkp/scsi/c/e5039a92f150 [13/31] scsi: pm8001: Remove local variable in pm8001_pci_resume() https://git.kernel.org/mkp/scsi/c/23c486d19a6c [14/31] scsi: pm8001: Fix NCQ NON DATA command task initialization https://git.kernel.org/mkp/scsi/c/aa028141ab0b [15/31] scsi: pm8001: Fix NCQ NON DATA command completion handling https://git.kernel.org/mkp/scsi/c/1d6736c3e162 [16/31] scsi: pm8001: Fix abort all task initialization https://git.kernel.org/mkp/scsi/c/7f12845c8389 [17/31] scsi: pm8001: Fix pm8001_tag_alloc() failures handling https://git.kernel.org/mkp/scsi/c/f17c599a44fc [18/31] scsi: pm8001: Fix pm8001_mpi_task_abort_resp() https://git.kernel.org/mkp/scsi/c/7e6b7e740add [19/31] scsi: pm8001: Fix tag values handling https://git.kernel.org/mkp/scsi/c/7fb23a785ba3 [20/31] scsi: pm8001: Fix task leak in pm8001_send_abort_all() https://git.kernel.org/mkp/scsi/c/f90a74892f3a [21/31] scsi: pm8001: Fix tag leaks on error https://git.kernel.org/mkp/scsi/c/4c8f04b1905c [22/31] scsi: pm8001: fix memory leak in pm8001_chip_fw_flash_update_req() https://git.kernel.org/mkp/scsi/c/f792a3629f4c [23/31] scsi: libsas: Simplify sas_ata_qc_issue() detection of NCQ commands https://git.kernel.org/mkp/scsi/c/a1e7c7991923 [24/31] scsi: pm8001: Cleanup pm8001_exec_internal_task_abort() https://git.kernel.org/mkp/scsi/c/0c4ad6c3d3b8 [25/31] scsi: pm8001: Simplify pm8001_get_ncq_tag() https://git.kernel.org/mkp/scsi/c/bf67e693fc40 [26/31] scsi: pm8001: Introduce ccb alloc/free helpers https://git.kernel.org/mkp/scsi/c/99df0edb5a98 [27/31] scsi: pm8001: Simplify pm8001_mpi_build_cmd() interface https://git.kernel.org/mkp/scsi/c/f91767a35f09 [28/31] scsi: pm8001: Simplify pm8001_task_exec() https://git.kernel.org/mkp/scsi/c/e29c47fe8946 [29/31] scsi: pm8001: Simplify pm8001_ccb_task_free() https://git.kernel.org/mkp/scsi/c/304fe11bdc25 [30/31] scsi: pm8001: improve pm80XX_send_abort_all() https://git.kernel.org/mkp/scsi/c/ca44f98d6194 [31/31] scsi: pm8001: Fix pm8001_info() message format https://git.kernel.org/mkp/scsi/c/b709a4caa9d0