diff options
author | Wolfram Sang <wsa+renesas@sang-engineering.com> | 2016-05-31 12:56:18 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-06-07 22:42:53 -0700 |
commit | e8593a8abf8cc35073b1c26bb0492f7e361b6ac1 (patch) | |
tree | 2a22ec66063bb9e91822d7596b91d3068b367b27 /drivers/staging/ks7010/ks7010_sdio.h | |
parent | staging: ks7010: remove code for old kernel versions (diff) | |
download | linux-dev-e8593a8abf8cc35073b1c26bb0492f7e361b6ac1.tar.xz linux-dev-e8593a8abf8cc35073b1c26bb0492f7e361b6ac1.zip |
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>
Diffstat (limited to 'drivers/staging/ks7010/ks7010_sdio.h')
-rw-r--r-- | drivers/staging/ks7010/ks7010_sdio.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/staging/ks7010/ks7010_sdio.h b/drivers/staging/ks7010/ks7010_sdio.h index 5bf01abbf2ab..93823837f19e 100644 --- a/drivers/staging/ks7010/ks7010_sdio.h +++ b/drivers/staging/ks7010/ks7010_sdio.h @@ -96,8 +96,6 @@ struct hw_info_t { struct ks_sdio_card *sdio_card; struct completion ks7010_sdio_wait; struct workqueue_struct *ks7010sdio_wq; - struct workqueue_struct *ks7010sdio_init; - struct work_struct init_task; struct delayed_work rw_wq; unsigned char *read_buf; struct tasklet_struct rx_bh_task; |