OSDN Git Service

staging: ks7010: avoid workqueue races
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Tue, 31 May 2016 10:56:18 +0000 (12:56 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Jun 2016 05:42:53 +0000 (22:42 -0700)
commite8593a8abf8cc35073b1c26bb0492f7e361b6ac1
tree2a22ec66063bb9e91822d7596b91d3068b367b27
parent72bf750007297c33fe2331d2125118d4885367c2
staging: ks7010: avoid workqueue races

My Spectec SDW823 card oopsed when it was already inserted during boot.
When debugging this, I noticed that the card init was done in a seperate
workqueue which was only activated once in probe. After removing the
workqueue and calling the card init directly from probe, the OOPS went
away. It turned out this is the same OOPS which happened when removing
the card, so this seems possible now. Note: There is still a
not-understood card-removed event during boot, but at least it doesn't
crash anymore and the card will be re-probed right away.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/ks7010/TODO
drivers/staging/ks7010/ks7010_sdio.c
drivers/staging/ks7010/ks7010_sdio.h