@@ -967,7 +967,7 @@ static int cdc_ncm_bind(struct usbnet *dev, struct usb_interface *intf)
return ret;
}
-static void cdc_ncm_align_tail(struct sk_buff *skb, size_t modulus, size_t remainder, size_t max)
+void cdc_ncm_align_tail(struct sk_buff *skb, size_t modulus, size_t remainder, size_t max)
{
size_t align = ALIGN(skb->len, modulus) - skb->len + remainder;
@@ -976,6 +976,7 @@ static void cdc_ncm_align_tail(struct sk_buff *skb, size_t modulus, size_t remai
if (align && skb_tailroom(skb) >= align)
memset(skb_put(skb, align), 0, align);
}
+EXPORT_SYMBOL_GPL(cdc_ncm_align_tail);
/* return a pointer to a valid struct usb_cdc_ncm_ndp16 of type sign, possibly
* allocating a new one within skb
@@ -141,5 +141,6 @@ int cdc_ncm_rx_verify_ndp16(struct sk_buff *skb_in, int ndpoffset);
struct sk_buff *
cdc_ncm_tx_fixup(struct usbnet *dev, struct sk_buff *skb, gfp_t flags);
int cdc_ncm_rx_fixup(struct usbnet *dev, struct sk_buff *skb_in);
+void cdc_ncm_align_tail(struct sk_buff *skb, size_t modulus, size_t remainder, size_t max);
#endif /* __LINUX_USB_CDC_NCM_H */
Export this function to allow for reusing it in other drivers needing NCM frames alignment, such as the huawei_cdc_ncm one. Signed-off-by: Enrico Mioso <mrkiko.rs@gmail.com> --- drivers/net/usb/cdc_ncm.c | 3 ++- include/linux/usb/cdc_ncm.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-)