ata: libata: ata_{sff|std}_prereset() always return 0

ata_std_prereset() always returns 0, hence the check in ata_sff_prereset()
is pointless and thus it also can return only 0 (however, we cannot change
the prototypes of ata_{sff|std}_prereset() as they implement the driver's
prereset() method).

Found by Linux Verification Center (linuxtesting.org) with the SVACE static
analysis tool.

Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
This commit is contained in:
Sergey Shtylyov 2022-02-02 23:07:45 +03:00 committed by Damien Le Moal
parent f4a8d4f2b6
commit ac1eb6655b
2 changed files with 4 additions and 5 deletions

View File

@ -3568,7 +3568,7 @@ EXPORT_SYMBOL_GPL(ata_wait_after_reset);
* Kernel thread context (may sleep) * Kernel thread context (may sleep)
* *
* RETURNS: * RETURNS:
* 0 on success, -errno otherwise. * Always 0.
*/ */
int ata_std_prereset(struct ata_link *link, unsigned long deadline) int ata_std_prereset(struct ata_link *link, unsigned long deadline)
{ {

View File

@ -1708,16 +1708,15 @@ EXPORT_SYMBOL_GPL(ata_sff_thaw);
* Kernel thread context (may sleep) * Kernel thread context (may sleep)
* *
* RETURNS: * RETURNS:
* 0 on success, -errno otherwise. * Always 0.
*/ */
int ata_sff_prereset(struct ata_link *link, unsigned long deadline) int ata_sff_prereset(struct ata_link *link, unsigned long deadline)
{ {
struct ata_eh_context *ehc = &link->eh_context; struct ata_eh_context *ehc = &link->eh_context;
int rc; int rc;
rc = ata_std_prereset(link, deadline); /* The standard prereset is best-effort and always returns 0 */
if (rc) ata_std_prereset(link, deadline);
return rc;
/* if we're about to do hardreset, nothing more to do */ /* if we're about to do hardreset, nothing more to do */
if (ehc->i.action & ATA_EH_HARDRESET) if (ehc->i.action & ATA_EH_HARDRESET)