Hi, > > > static int qtnf_netdev_close(struct net_device *ndev) > > > { > > > - netif_carrier_off(ndev); > > > qtnf_virtual_intf_cleanup(ndev); > > > qtnf_netdev_updown(ndev, 0); > > > + netif_carrier_off(ndev); > > > return 0; > > > } > > > > This seems unrelated? > > Hmm... The idea was to make sure that scan is canceled before > cfg80211_netdev_notifier_call throws WARN when state is changed > to NETDEV_DOWN. However this is not needed if scans are properly > canceled in cfg80211_ops handlers. Thanks for catching, will remove. Not sure how the carrier change is relevant though - that doesn't even notify cfg80211? Anyway, I don't really know, it just didn't seem related :) > > > - if (timer_pending(&mac->scan_timeout)) > > > - del_timer_sync(&mac->scan_timeout); > > > qtnf_scan_done(mac, le32_to_cpu(status->flags) & > > > QLINK_SCAN_ABORTED); > > > > and that's related perhaps but not really explained in the > > changelog, > > not sure? > > That was minor optimization: to remove pedning timer whenever scan > is canceled. Sure, it worth mentioning in changelog, will do. I realized (after sending my email) that it actually made a lot of sense, so yeah - and in fact I'm not sure it's just an optimisation, depends on where else you cancel the timer and if that could leave the timer running until after the interface is removed or something. Btw, I don't really see why you check pending first? > By the way, is it ok to send corrected single patch in reply to this > discussion ? Or the appropriate way is to resend the whole patch set > ? Good question. I think it's up to the specific maintainer, I know davem wants a full resend, but Kalle might have his own preference. I for one am willing to deal with both, though a full resend is somewhat easier. johannes