RE: [PATCH 06/15] liquidio: use new module_firmware_crashed()

From: Derek Chickles
Date: Mon May 11 2020 - 12:34:21 EST


> From: Luis Chamberlain <mcgrof@xxxxxxxxxx>
> Sent: Friday, May 8, 2020 9:36 PM
> To: jeyu@xxxxxxxxxx
> Cc: akpm@xxxxxxxxxxxxxxxxxxxx; arnd@xxxxxxxx; rostedt@xxxxxxxxxxx;
> mingo@xxxxxxxxxx; aquini@xxxxxxxxxx; cai@xxxxxx; dyoung@xxxxxxxxxx;
> bhe@xxxxxxxxxx; peterz@xxxxxxxxxxxxx; tglx@xxxxxxxxxxxxx;
> gpiccoli@xxxxxxxxxxxxx; pmladek@xxxxxxxx; tiwai@xxxxxxx;
> schlad@xxxxxxx; andriy.shevchenko@xxxxxxxxxxxxxxx;
> keescook@xxxxxxxxxxxx; daniel.vetter@xxxxxxxx; will@xxxxxxxxxx;
> mchehab+samsung@xxxxxxxxxx; kvalo@xxxxxxxxxxxxxx;
> davem@xxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; Luis Chamberlain <mcgrof@xxxxxxxxxx>; Derek
> Chickles <dchickles@xxxxxxxxxxx>; Satananda Burla <sburla@xxxxxxxxxxx>;
> Felix Manlunas <fmanlunas@xxxxxxxxxxx>
> Subject: [PATCH 06/15] liquidio: use new module_firmware_crashed()
>
> ----------------------------------------------------------------------
> This makes use of the new module_firmware_crashed() to help annotate
> when firmware for device drivers crash. When firmware crashes devices can
> sometimes become unresponsive, and recovery sometimes requires a driver
> unload / reload and in the worst cases a reboot.
>
> Using a taint flag allows us to annotate when this happens clearly.
>
> Cc: Derek Chickles <dchickles@xxxxxxxxxxx>
> Cc: Satanand Burla <sburla@xxxxxxxxxxx>
> Cc: Felix Manlunas <fmanlunas@xxxxxxxxxxx>
> Signed-off-by: Luis Chamberlain <mcgrof@xxxxxxxxxx>
> ---
> drivers/net/ethernet/cavium/liquidio/lio_main.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/ethernet/cavium/liquidio/lio_main.c
> b/drivers/net/ethernet/cavium/liquidio/lio_main.c
> index 66d31c018c7e..f18085262982 100644
> --- a/drivers/net/ethernet/cavium/liquidio/lio_main.c
> +++ b/drivers/net/ethernet/cavium/liquidio/lio_main.c
> @@ -801,6 +801,7 @@ static int liquidio_watchdog(void *param)
> continue;
>
> WRITE_ONCE(oct->cores_crashed, true);
> + module_firmware_crashed();
> other_oct = get_other_octeon_device(oct);
> if (other_oct)
> WRITE_ONCE(other_oct->cores_crashed, true);
> --
> 2.25.1

Thanks!

Reviewed-by: Derek Chickles <dchickles@xxxxxxxxxxx>