Hi, I hate to do this, but > /* Transmit control fields. This data structure is passed to low-level driver > * with each TX frame. The low-level driver is responsible for configuring > - * the hardware to use given values (depending on what is supported). */ > - > + * the hardware to use given values (depending on what is supported). > + * > + * NOTE: All pointers within this structure are only valid until > + * ieee80211_ops->tx() returns. If the information is required > + * at a later time (i.e. when defering the work to a workqueue) > + * make sure that not only the contents of struct ieee80211_tx_control > + * is copied, but also the data where the pointers refer to. */ This isn't true for all pointers, the rate pointers point into the array rate array so they're valid until the phy is unregistered, the vif pointer is valid until the interface is removed via the appropriate callback (remove_interface? I forgot), and the key until that is removed via set_key(). Maybe we should add that instead? Normally, people will not need the pointers outside ->tx() though, of course. Also, please move the */ to a new line while you're at it anyway. Other than that, Acked-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> johannes
Attachment:
signature.asc
Description: This is a digitally signed message part