sata_promise.c missing .error_handler in port ops?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Does anyone (Jeff?) know why sata_promise does not hook up a new-style
.error_handler to the port operations? Without this, errors fall back
to ATA-style error detection and don't seem correct. I hooked up a
handler in my kernel which just does this:

static void pdc_error_handler(struct ata_port *ap)
{
       ata_reset_fn_t hardreset = NULL;

       if (sata_scr_valid(ap))
               hardreset = sata_std_hardreset;

       ata_do_eh(ap, ata_std_prereset, ata_std_softreset,
                 hardreset, ata_std_postreset);
}

.. It seems to output proper error information after doing this:

ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x2 frozen
ata1.00: tag 0 cmd 0xb0 Emask 0x2 stat 0x50 err 0x0 (HSM violation)
ata1: soft resetting port
ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
ata1.00: configured for UDMA/133
ata1: EH complete

A few questions remain:

- Is there anything special going on with the existing
pdc_eng_timeout() handler?

- Does the underlying libata-eh code handle timeout cases properly by
default? (I poked around in the code but couldn't tell for sure)

- Should I just submit a patch with this change?

Thanks -Andrew
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux