All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/20] libsas and pm8001 fixes
@ 2022-02-10 11:41 Damien Le Moal
  2022-02-10 11:41 ` [PATCH 01/20] scsi: libsas: fix sas_ata_qc_issue() handling of NCQ NON DATA commands Damien Le Moal
                   ` (20 more replies)
  0 siblings, 21 replies; 43+ messages in thread
From: Damien Le Moal @ 2022-02-10 11:41 UTC (permalink / raw)
  To: linux-scsi, Martin K . Petersen, John Garry, Xiang Chen,
	Jason Yan, Luo Jiaxing

The first 3 patches fix a problem with libsas handling of NCQ NON DATA
commands and simplify libsas code in a couple of places.
The remaining patches are fixes for the pm8001 driver:
* All sparse warnings are addressed, fixing along the way many le32
  handling bugs for big-endian architectures
* Fix handling of NCQ NON DATA commands
* Fix NCQ error recovery (abort all task execution) that was causing a
  crash
* Simplify the code in many places

With these fixes, libzbc test suite passes all test case. This test
suite was used with an SMR drive for testing because it generates many
NCQ NON DATA commands (for zone management commands) and also generates
many NCQ command errors to check ASC/ASCQ returned by the device. With
the test suite, the error recovery path was extensively exercised.

Note that without these patches, libzbc test suite result in the
controller hanging, or in kernel crashes.

Damien Le Moal (20):
  scsi: libsas: fix sas_ata_qc_issue() handling of NCQ NON DATA commands
  scsi: libsas: simplify sas_ata_qc_issue() detection of NCQ commands
  scsi: libsas: Remove unnecessary initialization in sas_ata_qc_issue()
  scsi: pm8001: fix __iomem pointer use in pm8001_phy_control()
  scsi: pm8001: Remove local variable in pm8001_pci_resume()
  scsi: pm8001: Fix pm8001_update_flash() local variable type
  scsi: pm8001: Fix command initialization in pm80XX_send_read_log()
  scsi: pm8001: Fix local variable declaration in pm80xx_pci_mem_copy()
  scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req()
  scsi: pm8001: fix payload initialization in
    pm80xx_set_thermal_config()
  scsi: pm8001: fix le32 values handling in
    pm80xx_set_sas_protocol_timer_config()
  scsi: pm8001: fix payload initialization in pm80xx_encrypt_update()
  scsi: pm8001: fix le32 values handling in pm80xx_chip_ssp_io_req()
  scsi: pm8001: fix le32 values handling in pm80xx_chip_sata_req()
  scsi: pm8001: fix use of struct set_phy_profile_req fields
  scsi: pm8001: simplify pm8001_get_ncq_tag()
  scsi: pm8001: fix NCQ NON DATA command task initialization
  scsi: pm8001: fix NCQ NON DATA command completion handling
  scsi: pm8001: cleanup pm8001_queue_command()
  scsi: pm8001: fix abort all task initialization

 drivers/scsi/libsas/sas_ata.c     |  12 +-
 drivers/scsi/pm8001/pm8001_ctl.c  |   5 +-
 drivers/scsi/pm8001/pm8001_hwi.c  |  23 +--
 drivers/scsi/pm8001/pm8001_init.c |   8 +-
 drivers/scsi/pm8001/pm8001_sas.c  |  48 +++----
 drivers/scsi/pm8001/pm80xx_hwi.c  | 226 ++++++++++++++++--------------
 drivers/scsi/pm8001/pm80xx_hwi.h  |   2 +-
 7 files changed, 169 insertions(+), 155 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2022-02-12  6:19 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-10 11:41 [PATCH 00/20] libsas and pm8001 fixes Damien Le Moal
2022-02-10 11:41 ` [PATCH 01/20] scsi: libsas: fix sas_ata_qc_issue() handling of NCQ NON DATA commands Damien Le Moal
2022-02-10 11:42 ` [PATCH 02/20] scsi: libsas: simplify sas_ata_qc_issue() detection of NCQ commands Damien Le Moal
2022-02-10 11:42 ` [PATCH 03/20] scsi: libsas: Remove unnecessary initialization in sas_ata_qc_issue() Damien Le Moal
2022-02-10 11:48   ` John Garry
2022-02-10 11:42 ` [PATCH 04/20] scsi: pm8001: fix __iomem pointer use in pm8001_phy_control() Damien Le Moal
2022-02-11  6:11   ` Christoph Hellwig
2022-02-11  7:03     ` Damien Le Moal
2022-02-10 11:42 ` [PATCH 05/20] scsi: pm8001: Remove local variable in pm8001_pci_resume() Damien Le Moal
2022-02-10 12:04   ` John Garry
2022-02-10 12:13     ` Damien Le Moal
2022-02-10 11:42 ` [PATCH 06/20] scsi: pm8001: Fix pm8001_update_flash() local variable type Damien Le Moal
2022-02-10 11:42 ` [PATCH 07/20] scsi: pm8001: Fix command initialization in pm80XX_send_read_log() Damien Le Moal
2022-02-10 14:32   ` John Garry
2022-02-10 11:42 ` [PATCH 08/20] scsi: pm8001: Fix local variable declaration in pm80xx_pci_mem_copy() Damien Le Moal
2022-02-10 14:42   ` John Garry
2022-02-11  6:14   ` Christoph Hellwig
2022-02-11  7:18     ` Damien Le Moal
2022-02-10 11:42 ` [PATCH 09/20] scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req() Damien Le Moal
2022-02-10 11:42 ` [PATCH 10/20] scsi: pm8001: fix payload initialization in pm80xx_set_thermal_config() Damien Le Moal
2022-02-10 14:43   ` John Garry
2022-02-10 11:42 ` [PATCH 11/20] scsi: pm8001: fix le32 values handling in pm80xx_set_sas_protocol_timer_config() Damien Le Moal
2022-02-10 11:42 ` [PATCH 12/20] scsi: pm8001: fix payload initialization in pm80xx_encrypt_update() Damien Le Moal
2022-02-10 11:42 ` [PATCH 13/20] scsi: pm8001: fix le32 values handling in pm80xx_chip_ssp_io_req() Damien Le Moal
2022-02-10 11:42 ` [PATCH 14/20] scsi: pm8001: fix le32 values handling in pm80xx_chip_sata_req() Damien Le Moal
2022-02-10 11:42 ` [PATCH 15/20] scsi: pm8001: fix use of struct set_phy_profile_req fields Damien Le Moal
2022-02-10 11:42 ` [PATCH 16/20] scsi: pm8001: simplify pm8001_get_ncq_tag() Damien Le Moal
2022-02-10 14:50   ` John Garry
2022-02-10 11:42 ` [PATCH 17/20] scsi: pm8001: fix NCQ NON DATA command task initialization Damien Le Moal
2022-02-10 11:42 ` [PATCH 18/20] scsi: pm8001: fix NCQ NON DATA command completion handling Damien Le Moal
2022-02-10 11:42 ` [PATCH 19/20] scsi: pm8001: cleanup pm8001_queue_command() Damien Le Moal
2022-02-10 14:53   ` John Garry
2022-02-10 11:42 ` [PATCH 20/20] scsi: pm8001: fix abort all task initialization Damien Le Moal
2022-02-10 14:28   ` John Garry
2022-02-10 22:43     ` Damien Le Moal
2022-02-10 15:35 ` [PATCH 00/20] libsas and pm8001 fixes John Garry
2022-02-10 22:44   ` Damien Le Moal
2022-02-11  9:24     ` John Garry
2022-02-11 12:37       ` Damien Le Moal
2022-02-11 13:08         ` John Garry
2022-02-11 13:14           ` Damien Le Moal
2022-02-11 13:54             ` John Garry
2022-02-12  6:19               ` Damien Le Moal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.