> +static struct sk_buff *ksz_common_xmit(struct sk_buff *skb,
> +                                    struct net_device *dev, int len)
>  {
> -     struct dsa_port *dp = dsa_slave_to_port(dev);
>       struct sk_buff *nskb;
>       int padlen;
> -     u8 *tag;
>  
>       padlen = (skb->len >= ETH_ZLEN) ? 0 : ETH_ZLEN - skb->len;
>  
> -     if (skb_tailroom(skb) >= padlen + KSZ_INGRESS_TAG_LEN) {
> +     if (skb_tailroom(skb) >= padlen + len) {
>               /* Let dsa_slave_xmit() free skb */
>               if (__skb_put_padto(skb, skb->len + padlen, false))
>                       return NULL;

Hi Marek

This can return NULL.

> +static struct sk_buff *ksz9477_xmit(struct sk_buff *skb,
> +                                 struct net_device *dev)
> +{
> +     struct dsa_port *dp = dsa_slave_to_port(dev);
> +     struct sk_buff *nskb;
> +     u16 *tag;
> +     u8 *addr;
> +
> +     nskb = ksz_common_xmit(skb, dev, KSZ9477_INGRESS_TAG_LEN);

So here you need to check for NULL

Otherwise, i like it. Thanks for removing the function pointer.

           Andrew

Reply via email to