int ret;
 
        if (2 == size) {
-               u16 buf;
+               u16 buf = 0;
                ret = __ax88179_read_cmd(dev, cmd, value, index, size, &buf, 0);
                le16_to_cpus(&buf);
                *((u16 *)data) = buf;
        } else if (4 == size) {
-               u32 buf;
+               u32 buf = 0;
                ret = __ax88179_read_cmd(dev, cmd, value, index, size, &buf, 0);
                le32_to_cpus(&buf);
                *((u32 *)data) = buf;
 {
        u8 mac[ETH_ALEN];
 
+       memset(mac, 0, sizeof(mac));
+
        /* Maybe the boot loader passed the MAC address via device tree */
        if (!eth_platform_get_mac_address(&dev->udev->dev, mac)) {
                netif_dbg(dev, ifup, dev->net,