On Tue, Mar 13, 2018 at 8:46 PM, Kalle Valo <kvalo@xxxxxxxxxxxxxx> wrote: > Amitkumar Karwar <amitkarwar@xxxxxxxxx> writes: > >> From: Prameela Rani Garnepudi <prameela.j04cs@xxxxxxxxx> >> >> With the current approach of scanning, roaming delays >> are observed. Firmware has support for back ground scanning. >> To get this advantage, mac80211 hardware scan is implemented. >> In this method, foreground scan is performed in driver and >> back ground scan is configured to firmware. > > To me doesn't like a good idea to duplicate scan functionality in the > driver. There is a limitation with our device. We need to configure background scan parameters to firmware when device is connected. In non-connected state, we can directly dump probe requests received from mac80211 as a part of software scan. Some synchronization issues are with existing software scan when device is connected. This patch implements hw_scan where these issues are no seen, as driver has more control on scan state machine > >> --- a/drivers/net/wireless/rsi/rsi_91x_main.c >> +++ b/drivers/net/wireless/rsi/rsi_91x_main.c >> @@ -324,6 +324,14 @@ struct rsi_hw *rsi_91x_init(u16 oper_mode) >> mutex_init(&common->rx_lock); >> mutex_init(&common->tx_bus_mutex); >> >> + rsi_init_event(&common->chan_set_event); >> + rsi_init_event(&common->probe_cfm_event); >> + rsi_init_event(&common->chan_change_event); >> + rsi_init_event(&common->cancel_hw_scan_event); > > And I'm starting to dislike this rsi_init_event() even more (see my > other mail). In upstream driver's custom abstractions are very much > frowned upon, especially that it makes review harder. Agreed. I will get rid of this in a separate cleanup patch series. Regards, Amitkumar Karwar