Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
u32 rtw_init_evt_priv23a(struct evt_priv *pevtpriv)
{
- atomic_set(&pevtpriv->event_seq, 0);
- pevtpriv->evt_done_cnt = 0;
-
pevtpriv->wq = alloc_workqueue("rtl8723au_evt", 0, 1);
INIT_WORK(&pevtpriv->irq_wk, rtw_irq_work);
u16 evt_sz;
const uint *peventbuf;
void (*event_callback)(struct rtw_adapter *dev, u8 *pbuf);
- struct evt_priv *pevt_priv = &padapter->evtpriv;
peventbuf = (uint*)pbuf;
evt_sz = (u16)(*peventbuf&0xffff);
goto _abort_event_;
}
- atomic_inc(&pevt_priv->event_seq);
-
peventbuf += 2;
if (peventbuf) {
event_callback = wlanevents[evt_code].event_callback;
event_callback(padapter, (u8*)peventbuf);
-
- pevt_priv->evt_done_cnt++;
}
_abort_event_:
struct evt_priv {
struct workqueue_struct *wq;
struct work_struct irq_wk;
-
- atomic_t event_seq;
- u8 *evt_buf; /* shall be non-paged, and 4 bytes aligned */
- u8 *evt_allocated_buf;
- u32 evt_done_cnt;
};
#define init_h2fwcmd_w_parm_no_rsp(pcmd, pparm, code) \