WARN_ON(len % 4); /* if length is not divisible by 4 we need to pad */
 
        skb = alloc_skb(len + MT_DMA_HDR_LEN + 4, GFP_KERNEL);
-       skb_reserve(skb, MT_DMA_HDR_LEN);
-       memcpy(skb_put(skb, len), data, len);
+       if (skb) {
+               skb_reserve(skb, MT_DMA_HDR_LEN);
+               memcpy(skb_put(skb, len), data, len);
+       }
 
        return skb;
 }
        };
 
        skb = mt7601u_mcu_msg_alloc(dev, &msg, sizeof(msg));
+       if (!skb)
+               return -ENOMEM;
        return mt7601u_mcu_msg_send(dev, skb, CMD_FUN_SET_OP, func == 5);
 }
 
        };
 
        skb = mt7601u_mcu_msg_alloc(dev, &msg, sizeof(msg));
+       if (!skb)
+               return -ENOMEM;
        return mt7601u_mcu_msg_send(dev, skb, CMD_CALIBRATION_OP, true);
 }