History

Merge tag 'ata-7.2-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux

Pull ata fixes from Damien Le Moal: - Fix PCI resource initialization in the sata_mv driver to keep legacy Marvell boards functional (Rosen) - Fix ahci_ceva driver initialization error path (Radhey) - Fix libata header file to remove a kernel doc compilation warning (Randy) - Increase the timeout for the STANDBY IMMEDIATE command to avoid suspend failures with drives that are slow to respond to this command (Matt) - Fixes for the handling of timed out commands in the presence of deferred non-NCQ commands, to avoid excessive delays in executing the error handler (me) - Disable link power management for a couple of WD drives that have been identified as not functioning properly when power management is used (Niklas) - Fix the device iteration loop when checking for link power management support to correctly handle port multiplier setups (Niklas) * tag 'ata-7.2-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux: ata: libata-sata: fix ata_scsi_lpm_supported() iteration ata: libata-core: Disable LPM on WD Green 2.5 480GB ata: libata-core: Disable LPM on some WD drives scsi: libsas: terminate deferred commands on time out ata: libata-scsi: schedule deferred atapi command ata: libata-scsi: terminate deferred commands on time out ata: libata-eh: Increase STANDBY IMMEDIATE timeout ata: libata: avoid kernel-doc warnings ata: ahci_ceva: fix error paths in ceva_ahci_platform_enable_resources() ata: sata_mv: accept 1 or 2 resources in platform probe

Linus Torvalds committed 3 months ago

Commit f30ca2c2 parents f01618f 3fd70e911 files · +173 −46Browse files

Showing the changes to include (3 of 11 files). Show all

Unified · Split

3 files
  1. include/linux/ata.h +3 −3
  2. include/linux/libata.h +5 −1
  3. include/scsi/libsas.h +2 −0
include/linux/ata.h+3−3
@@ -762,8 +762,7 @@ static inline bool ata_id_sense_reporting_enabled(const u16 *id) · 761 unmodified lines
762762 return id[ATA_ID_COMMAND_SET_4] & BIT(6);
763763 }
764764
765−/**
766− *
765+/*
767766 * Word: 206 - SCT Command Transport
768767 * 15:12 - Vendor Specific
769768 * 11:6 - Reserved
@@ -810,8 +809,9 @@ static inline bool ata_id_sct_supported(const u16 *id) · 40 unmodified lines
810809 *
811810 * The practical impact of this is that ata_id_major_version cannot
812811 * reliably report on drives below ATA3.
812+ *
813+ * Returns: major version of ATA drive level or %0 if unknown
813814 */
814−
815815 static inline unsigned int ata_id_major_version(const u16 *id)
816816 {
817817 unsigned int mver;
include/linux/libata.h+5−1
@@ -425,7 +425,7 @@ enum { · 424 unmodified lines
425425 /* This should match the actual table size of
426426 * ata_eh_cmd_timeout_table in libata-eh.c.
427427 */
428− ATA_EH_CMD_TIMEOUT_TABLE_SIZE = 8,
428+ ATA_EH_CMD_TIMEOUT_TABLE_SIZE = 9,
429429
430430 /* User visible DMA mask for DMA control. DO NOT renumber. */
431431 ATA_DMA_MASK_ATA = (1 << 0), /* DMA on ATA Disk */
@@ -1153,6 +1153,9 @@ extern int ata_scsi_ioctl(struct scsi_device *dev, unsigned int cmd, · 721 unmodified lines
11531153 #endif
11541154 extern enum scsi_qc_status ata_scsi_queuecmd(struct Scsi_Host *h,
11551155 struct scsi_cmnd *cmd);
1156+enum scsi_timeout_action ata_scsi_retry_deferred_qc(struct ata_port *ap,
1157+ struct scsi_cmnd *scmd);
1158+enum scsi_timeout_action ata_scsi_eh_timed_out(struct scsi_cmnd *cmd);
11561159 #if IS_REACHABLE(CONFIG_ATA)
11571160 bool ata_scsi_dma_need_drain(struct request *rq);
11581161 #else
@@ -1464,6 +1467,7 @@ extern const struct attribute_group *ata_common_sdev_groups[]; · 305 unmodified lines
14641467 .ioctl = ata_scsi_ioctl, \
14651468 ATA_SCSI_COMPAT_IOCTL \
14661469 .queuecommand = ata_scsi_queuecmd, \
1470+ .eh_timed_out = ata_scsi_eh_timed_out, \
14671471 .dma_need_drain = ata_scsi_dma_need_drain, \
14681472 .this_id = ATA_SHT_THIS_ID, \
14691473 .emulated = ATA_SHT_EMULATED, \
include/scsi/libsas.h+2−0
@@ -705,6 +705,7 @@ void sas_task_abort(struct sas_task *); · 704 unmodified lines
705705 int sas_eh_abort_handler(struct scsi_cmnd *cmd);
706706 int sas_eh_device_reset_handler(struct scsi_cmnd *cmd);
707707 int sas_eh_target_reset_handler(struct scsi_cmnd *cmd);
708+enum scsi_timeout_action sas_eh_timed_out(struct scsi_cmnd *cmd);
708709
709710 extern void sas_target_destroy(struct scsi_target *);
710711 extern int sas_sdev_init(struct scsi_device *);
@@ -743,6 +744,7 @@ void sas_notify_phy_event(struct asd_sas_phy *phy, enum phy_event event, · 32 unmodified lines
743744 .this_id = -1, \
744745 .eh_device_reset_handler = sas_eh_device_reset_handler, \
745746 .eh_target_reset_handler = sas_eh_target_reset_handler, \
747+ .eh_timed_out = sas_eh_timed_out, \
746748 .target_destroy = sas_target_destroy, \
747749 .ioctl = sas_ioctl, \
748750

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t