Skip to content

Commit

Permalink
wifi: rt2x00: Switch to use hrtimer_update_function()
Browse files Browse the repository at this point in the history
The field 'function' of struct hrtimer should not be changed directly, as
the write is lockless and a concurrent timer expiry might end up using the
wrong function pointer.

Switch to use hrtimer_update_function() which also performs runtime checks
that it is safe to modify the callback.

Signed-off-by: Nam Cao <namcao@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/82dcc0eae40bb84e6452f242751c0650e79bd87e.1738746927.git.namcao@linutronix.de
  • Loading branch information
Nam Cao authored and Thomas Gleixner committed Feb 18, 2025
1 parent 3f8d93d commit 86a578e
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion drivers/net/wireless/ralink/rt2x00/rt2800mmio.c
Original file line number Diff line number Diff line change
Expand Up @@ -842,7 +842,7 @@ int rt2800mmio_probe_hw(struct rt2x00_dev *rt2x00dev)
/*
* Set txstatus timer function.
*/
rt2x00dev->txstatus_timer.function = rt2800mmio_tx_sta_fifo_timeout;
hrtimer_update_function(&rt2x00dev->txstatus_timer, rt2800mmio_tx_sta_fifo_timeout);

/*
* Overwrite TX done handler
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/ralink/rt2x00/rt2800usb.c
Original file line number Diff line number Diff line change
Expand Up @@ -618,7 +618,7 @@ static int rt2800usb_probe_hw(struct rt2x00_dev *rt2x00dev)
/*
* Set txstatus timer function.
*/
rt2x00dev->txstatus_timer.function = rt2800usb_tx_sta_fifo_timeout;
hrtimer_update_function(&rt2x00dev->txstatus_timer, rt2800usb_tx_sta_fifo_timeout);

/*
* Overwrite TX done handler
Expand Down

0 comments on commit 86a578e

Please sign in to comment.