On Fri, Oct 05, 2018 at 09:19:31AM +0000, Tony Chuang wrote: > > On Wed, Oct 03, 2018 at 04:02:22PM +0800, yhchuang@xxxxxxxxxxx wrote: > > > +void rtw_fw_do_iqk(struct rtw_dev *rtwdev, struct rtw_iqk_para *para) > > > +{ > > > + u8 h2c_pkt[H2C_PKT_SIZE] = {0}; > > > > Not sure if '= {0}' work as expected for arrays, you > > want to nulify first byte or whole h2c_pkt ? > > I want to nullify the whole h2c_pkt. > And I think it works as expected. Yes indeed. I confused with struct initialization which do not nullify whole struct when ={0} is used. > > for (i = RSVD_BEACON + 1; i <= RSVD_QOS_NULL ; i++) { > > kfree(rwdev->rsvd_page_arr[i])); > > rsvd_page_arr[i] = NULL; > > } > > > > And other operations like adding / removing / checking if present could > > be simplified as well. > > > > Also RSVD_PROBE_RESP page is never created. > > RSVD_PROBE_RESP will be used for AP/GO mode, > so I think I might leave it here. > > And change rsvd_list to array is not a good idea if there is more than > one interfaces running. For this case will need to download more rsvd > packets, and the order can be changed. Array seems not enough to > handle that. I guess this will be changed in the future, because for now order is always the same: rtw_add_rsvd_page(rtwdev, RSVD_PS_POLL, true); rtw_add_rsvd_page(rtwdev, RSVD_QOS_NULL, true); rtw_add_rsvd_page(rtwdev, RSVD_NULL, true); and we can not add more of the same pages because of check if (rsvd_pkt->type == type) return; in rtw_add_rsvd_page(). In general this interface does not seem to be workable with multi vif. But I assume this will be fixed in the future, so list seems to be fine. Thanks Stanislaw