> Replace the two-step hrtimer initialization pattern with a single > consolidated call to hrtimer_setup(). > The legacy approach of calling hrtimer_init() followed by manual > assignment to timer.function is deprecated. The new hrtimer_setup() > helper atomically initializes the timer and assigns the callback > function in one operation, eliminating the race-prone intermediate > state where the timer is initialized but lacks a handler. > > Signed-off-by: Mieczyslaw Nalewaj > --- > mt76x02_usb_core.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mt76x02_usb_core.c b/mt76x02_usb_core.c > index c94c2f661..3a28a8cc1 100644 > --- a/mt76x02_usb_core.c > +++ b/mt76x02_usb_core.c > @@ -264,8 +264,8 @@ void mt76x02u_init_beacon_config(struct mt76x02_dev *dev) > }; > dev->beacon_ops = &beacon_ops; > > - hrtimer_init(&dev->pre_tbtt_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); > - dev->pre_tbtt_timer.function = mt76x02u_pre_tbtt_interrupt; > + hrtimer_setup(&dev->pre_tbtt_timer, mt76x02u_pre_tbtt_interrupt, CLOCK_MONOTONIC, > + HRTIMER_MODE_REL); I guess we are already using hrtimer_setup(): https://github.com/torvalds/linux/blob/master/drivers/net/wireless/mediatek/mt76/mt76x02_usb_core.c#L267 Regards, Lorenzo > INIT_WORK(&dev->pre_tbtt_work, mt76x02u_pre_tbtt_work); > > mt76x02_init_beacon_config(dev); > -- > 2.53.0 >