Search Linux Wireless

Re: [RFC PATCH 01/10] mac80211: A-MPDU Tx add session's and low level driver's API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> > +int ieee80211_start_tx_ba_session(struct ieee80211_hw *hw, u8 *ra, u16 tid);
>
> It seems to me that this should be per-virtual interface instead of
> per-hardware? I guess ultimately it won't make a difference because the
> RA will be unique but I think we should still keep it per-vif where it
> makes sense.
>
I can pass only vif in all the API i give, and that's something that i
am not sure about since you introduced vif - generally all functions
can get hw just from having the vif, but still there are plenty of
places in the code that i see hw being passed back and forth. is it
just because API compatibility or because something else i need to
consider?

> > +void ieee80211_start_tx_ba_cb(struct ieee80211_hw *hw, u8 *ra, u16 tid);
> > +void ieee80211_start_tx_ba_cb_irqsafe(struct ieee80211_hw *hw, u8 *ra,
> > +                                   u16 tid);
>
> You actually need to write kerneldoc in two different comments so it can
> be embedded into output properly

code duplication in comments :-)
i'll separate them, no problem.

>. I know, I should be writing the
> mac80211 book... I'll get around to it again, I promise :) Could you
> help with an 11n part of the book that explains how all this session
> stuff works? Just some text, possibly within the header file as
>

Gladly! the really basic functioanlity I have already showed in patch
0/10. I guess you are thinking about something more then that so lets
talk about it in a diffrent thread. i also didn't understand what
header file you mean.

> /**
>  * DOC: Aggregation
>  *
>  *...
>  */
>
> Also, should we just call it _irq instead of _irqsafe? I personally
> dislike the rx_irqsafe naming too.

it is the same as the naming of tx_status_irqsafe and rx_irqsafe. you
want to change this convention?

>
> > +/**
> > + * ieee80211_stop_tx_ba_session - Stop a Block Ack session.
> > + * @hw: pointer as obtained from ieee80211_alloc_hw().
> > + * @ra: destination address of the BA session recipient
> > + * @tid: the TID to stop BA.
> > + * @initiator: if indicates initiator DELBA frame will be sent.
> > + * @return: error if no sta with matching da found, success otherwise
>
> DA? The variable is called RA though.

will change, thanks

> > +int ieee80211_stop_tx_ba_session(struct ieee80211_hw *hw, u8 *ra,
> > +                              u16 tid, u8 initiator);
>
> Shouldn't the "initiator" argument get a proper enum type?

agree, will change

> > +/**
> > + * ieee80211_stop_BA_cb - low level driver is ready to stop aggregation.
> > + * @hw: pointer as obtained from ieee80211_alloc_hw().
> > + * @ra: destination address of the BA session recipient.
> > + * @tid: the desired TID to BA on.
> > + *
> > + * This function must be called by low level driver once it has
> > + * finished with preparations for the BA session tear down.
> > + * Two versions of the function are provided for low-deriver's convinience,
>
> Typo, should be "convenience". Same as with the other one though, you
> need to copy the kerneldoc and explain them separately.
>

ok

> >       ret = local->ops->ampdu_action(hw, IEEE80211_AMPDU_RX_STOP,
> > -                                     ra, tid, EINVAL);
> > +                                     ra, tid, NULL);
>
> I think the kerneldoc should mention that ssn can be NULL for the
> RX_STOP notification.
>

I'll add it

> johannes
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux