> + if (le16_to_cpu(HCLGE_MDIO_STA_VAL(mdio_cmd->sta))) { > + dev_err(&hdev->pdev->dev, "mdio read data error\n"); > + return -ENOMEM; > + }
If it is not zero, it is an error. !0 is always !0, big or little endian, so there is no point doing the le16_to_cpu(). Where is the memory allocation which failed? Andrew