OSDN Git Service

staging: wfx: fix Oops when CONFIG_OF_NET is not set
authorJérôme Pouiller <jerome.pouiller@silabs.com>
Thu, 17 Oct 2019 09:40:06 +0000 (09:40 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 26 Oct 2019 18:42:32 +0000 (20:42 +0200)
In most case, of_get_mac_address() return NULL in case of error.
However, if CONFIG_OF_NET is not set, it return -ENODEV.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
Link: https://lore.kernel.org/r/20191017093954.657-4-Jerome.Pouiller@silabs.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/wfx/main.c

index 3a43f19..205b5bc 100644 (file)
@@ -407,7 +407,7 @@ int wfx_probe(struct wfx_dev *wdev)
        for (i = 0; i < ARRAY_SIZE(wdev->addresses); i++) {
                eth_zero_addr(wdev->addresses[i].addr);
                macaddr = of_get_mac_address(wdev->dev->of_node);
-               if (macaddr) {
+               if (!IS_ERR_OR_NULL(macaddr)) {
                        ether_addr_copy(wdev->addresses[i].addr, macaddr);
                        wdev->addresses[i].addr[ETH_ALEN - 1] += i;
                }