On Fri, Sep 20, 2019 at 1:29 AM Tony Chuang <yhchuang@xxxxxxxxxxx> wrote: > > Brian Norris <briannorris@xxxxxxxxxxxx> writes: > > > Ah, I was a bit confused. So it does get called from "PS" routines: > > I thought you're talking about IEEE80211_CONF_PS instead of > IEEE80211_CONF_IDLE. Like I said, I was confused :) On first glance, I just saw the codepath showing up in ps.c, but then I noticed it's only for IDLE, not PS. > Also if possible you should queue patch 2, that reordering will cause > two H2C skbs not be released because HCI hasn't started, everytime > enter/leave IDLE state (rtw_power_[on|off]). That patch also looks good to me, FWIW. Side note: it's a little bit strange that your driver can silently misbehave so badly, just by TX'ing in the wrong state. Would this be a good case to add some WARN_ON() or WARN_ON_ONCE() (e.g., in functions like rtw_fw_send_h2c_packet()), to check for the appropriate "started" state? Brian