Kang Yang <quic_kangyang@xxxxxxxxxxx> writes: > P2P Element is a necessary component of P2P protocol communication. > It contains the Vendor Specific Information Element which includes > the WFA OUI and an OUI Type indicating P2P. > > Add P2P IE in beacon template, and implement WMI interface for it. > > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 > Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1 > > Signed-off-by: Kang Yang <quic_kangyang@xxxxxxxxxxx> [...] > +static int ath12k_mac_remove_vendor_ie(struct sk_buff *skb, unsigned int oui, > + u8 oui_type, size_t ie_offset) > +{ > + size_t len; > + const u8 *next; > + const u8 *end; > + u8 *ie; Reverse xmas tree and you can merge next and end: const u8 *next, *end; size_t len; u8 *ie; I changed that in the pending branch. > + if (WARN_ON(skb->len < ie_offset)) > + return -EINVAL; > + > + ie = (u8 *)cfg80211_find_vendor_ie(oui, oui_type, > + skb->data + ie_offset, > + skb->len - ie_offset); So cfg80211_find_vendor_ie() returns: static inline const u8 * cfg80211_find_vendor_ie(unsigned int oui, int oui_type, const u8 *ies, unsigned int len) You are casting away the const here. I see that other drivers do the same as the assumption is that the pointer points to the same buffer, but I still don't really like casting away const. Thoughts? -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches