diff options
Diffstat (limited to 'drivers/net/cxgb3/cxgb3_main.c')
-rw-r--r-- | drivers/net/cxgb3/cxgb3_main.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/cxgb3/cxgb3_main.c b/drivers/net/cxgb3/cxgb3_main.c index 386461750d0f..4d538a4e9d55 100644 --- a/drivers/net/cxgb3/cxgb3_main.c +++ b/drivers/net/cxgb3/cxgb3_main.c | |||
@@ -1359,6 +1359,7 @@ out: | |||
1359 | static int offload_close(struct t3cdev *tdev) | 1359 | static int offload_close(struct t3cdev *tdev) |
1360 | { | 1360 | { |
1361 | struct adapter *adapter = tdev2adap(tdev); | 1361 | struct adapter *adapter = tdev2adap(tdev); |
1362 | struct t3c_data *td = T3C_DATA(tdev); | ||
1362 | 1363 | ||
1363 | if (!test_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map)) | 1364 | if (!test_bit(OFFLOAD_DEVMAP_BIT, &adapter->open_device_map)) |
1364 | return 0; | 1365 | return 0; |
@@ -1369,7 +1370,7 @@ static int offload_close(struct t3cdev *tdev) | |||
1369 | sysfs_remove_group(&tdev->lldev->dev.kobj, &offload_attr_group); | 1370 | sysfs_remove_group(&tdev->lldev->dev.kobj, &offload_attr_group); |
1370 | 1371 | ||
1371 | /* Flush work scheduled while releasing TIDs */ | 1372 | /* Flush work scheduled while releasing TIDs */ |
1372 | flush_scheduled_work(); | 1373 | flush_work_sync(&td->tid_release_task); |
1373 | 1374 | ||
1374 | tdev->lldev = NULL; | 1375 | tdev->lldev = NULL; |
1375 | cxgb3_set_dummy_ops(tdev); | 1376 | cxgb3_set_dummy_ops(tdev); |