mirror of https://gitee.com/openkylin/linux.git
zd1211rw: cancel process_intr work on zd_chip_disable_int()
OOPS if worker is running and disconnect() is called (triggered by unpluging device). Much harder to trigger at this stage but later when we have AP beacon work in process_intr it happens very easy. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
78fc800f06
commit
d741900d40
|
@ -1407,6 +1407,9 @@ void zd_chip_disable_int(struct zd_chip *chip)
|
||||||
mutex_lock(&chip->mutex);
|
mutex_lock(&chip->mutex);
|
||||||
zd_usb_disable_int(&chip->usb);
|
zd_usb_disable_int(&chip->usb);
|
||||||
mutex_unlock(&chip->mutex);
|
mutex_unlock(&chip->mutex);
|
||||||
|
|
||||||
|
/* cancel pending interrupt work */
|
||||||
|
cancel_work_sync(&zd_chip_to_mac(chip)->process_intr);
|
||||||
}
|
}
|
||||||
|
|
||||||
int zd_chip_enable_rxtx(struct zd_chip *chip)
|
int zd_chip_enable_rxtx(struct zd_chip *chip)
|
||||||
|
|
Loading…
Reference in New Issue