libata-sff: use WARN instead of BUG on illegal host state machine state
authorTejun Heo <tj@kernel.org>
Fri, 29 Jan 2016 12:06:53 +0000 (07:06 -0500)
committerTejun Heo <tj@kernel.org>
Fri, 29 Jan 2016 12:06:53 +0000 (07:06 -0500)
ata_sff_hsm_move() triggers BUG if it sees a host state machine state
that it dind't expect.  The risk for data corruption when the
condition occurs is low as it's highly unlikely that it would lead to
spurious completion of commands.  The BUG occasionally triggered for
subtle race conditions in the driver.  Let's downgrade it to WARN so
that it doesn't kill the machine unnecessarily.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Dmitry Vyukov <dvyukov@google.com>
drivers/ata/libata-sff.c

index cdf6215a9a22beb93ede75a702797e12c5ad4870..608677df4f49dda3895172276ae1ea84c1d29f14 100644 (file)
@@ -1296,7 +1296,8 @@ fsm_start:
                break;
        default:
                poll_next = 0;
-               BUG();
+               WARN(true, "ata%d: SFF host state machine in invalid state %d",
+                    ap->print_id, ap->hsm_task_state);
        }
 
        return poll_next;