Re: [PATCH] smc91c92_cs : add a spinlock to avoid race condition

From: David Miller
Date: Fri Aug 19 2016 - 00:07:39 EST


From: Pavel Andrianov <andrianov@xxxxxxxxx>
Date: Tue, 16 Aug 2016 16:39:06 +0300

> smc_reset may be executed in parallel with timer function media_check.
> To avoid data race in smc_set_xcvr a spinlock was added.
>
> Found by Linux Driver Verification project (linuxtesting.org).
>
> Signed-off-by: Pavel Andrianov <andrianov@xxxxxxxxx>

This is not sufficient.

You have to block basically the entire function, because both
smc_reset and media_check program the bank selection so could
corrupt eachother's register accesses.