On Fri, Oct 05, 2018 at 09:19:31AM +0000, Tony Chuang wrote:
> > On Wed, Oct 03, 2018 at 04:02:22PM +0800, [email protected] 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