Do not call kfree() till timer function is finished. [This was found using grep. Compilation tested only] Signed-off-by: Kirill Tkhai <tkhai@xxxxxxxxx> CC: Joe Perches <joe@xxxxxxxxxxx> CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/staging/sbe-2t3e3/module.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/sbe-2t3e3/module.c b/drivers/staging/sbe-2t3e3/module.c index 0e32be5..a6f93a4 100644 --- a/drivers/staging/sbe-2t3e3/module.c +++ b/drivers/staging/sbe-2t3e3/module.c @@ -122,7 +122,7 @@ static void t3e3_remove_card(struct pci_dev *pdev) struct channel *channel0 = pci_get_drvdata(pdev); struct card *card = channel0->card; - del_timer(&card->timer); + del_timer_sync(&card->timer); if (has_two_ports(channel0->pdev)) { t3e3_remove_channel(&card->channels[1]); pci_dev_put(card->channels[1].pdev); _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel