hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/net/ethernet/jme.c
....@@ -1265,9 +1265,9 @@
12651265 jwrite32f(jme, JME_APMC, apmc);
12661266 }
12671267
1268
-static void jme_link_change_work(struct work_struct *work)
1268
+static void jme_link_change_tasklet(struct tasklet_struct *t)
12691269 {
1270
- struct jme_adapter *jme = container_of(work, struct jme_adapter, linkch_task);
1270
+ struct jme_adapter *jme = from_tasklet(jme, t, linkch_task);
12711271 struct net_device *netdev = jme->dev;
12721272 int rc;
12731273
....@@ -1510,7 +1510,7 @@
15101510 * all other events are ignored
15111511 */
15121512 jwrite32(jme, JME_IEVE, intrstat);
1513
- schedule_work(&jme->linkch_task);
1513
+ tasklet_schedule(&jme->linkch_task);
15141514 goto out_reenable;
15151515 }
15161516
....@@ -1832,6 +1832,7 @@
18321832 jme_clear_pm_disable_wol(jme);
18331833 JME_NAPI_ENABLE(jme);
18341834
1835
+ tasklet_setup(&jme->linkch_task, jme_link_change_tasklet);
18351836 tasklet_setup(&jme->txclean_task, jme_tx_clean_tasklet);
18361837 tasklet_setup(&jme->rxclean_task, jme_rx_clean_tasklet);
18371838 tasklet_setup(&jme->rxempty_task, jme_rx_empty_tasklet);
....@@ -1919,7 +1920,7 @@
19191920
19201921 JME_NAPI_DISABLE(jme);
19211922
1922
- cancel_work_sync(&jme->linkch_task);
1923
+ tasklet_kill(&jme->linkch_task);
19231924 tasklet_kill(&jme->txclean_task);
19241925 tasklet_kill(&jme->rxclean_task);
19251926 tasklet_kill(&jme->rxempty_task);
....@@ -3034,7 +3035,6 @@
30343035 atomic_set(&jme->rx_empty, 1);
30353036
30363037 tasklet_setup(&jme->pcc_task, jme_pcc_tasklet);
3037
- INIT_WORK(&jme->linkch_task, jme_link_change_work);
30383038 jme->dpi.cur = PCC_P1;
30393039
30403040 jme->reg_ghc = 0;