Commit 268be0f7 authored by Stefan Wahren's avatar Stefan Wahren Committed by David S. Miller

net: qca_spi: Fix possible race during probe

Registering the netdev before setting the priv data is unsafe.
So fix this possible race by setting the priv data first.
Signed-off-by: default avatarStefan Wahren <stefan.wahren@i2se.com>
Cc: <stable@vger.kernel.org> # v3.18+
Fixes: 291ab06e (net: qualcomm: new Ethernet over SPI driver for QCA7000)
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 7c0c8268
...@@ -912,6 +912,8 @@ qca_spi_probe(struct spi_device *spi_device) ...@@ -912,6 +912,8 @@ qca_spi_probe(struct spi_device *spi_device)
qca->spi_dev = spi_device; qca->spi_dev = spi_device;
qca->legacy_mode = legacy_mode; qca->legacy_mode = legacy_mode;
spi_set_drvdata(spi_device, qcaspi_devs);
mac = of_get_mac_address(spi_device->dev.of_node); mac = of_get_mac_address(spi_device->dev.of_node);
if (mac) if (mac)
...@@ -944,8 +946,6 @@ qca_spi_probe(struct spi_device *spi_device) ...@@ -944,8 +946,6 @@ qca_spi_probe(struct spi_device *spi_device)
return -EFAULT; return -EFAULT;
} }
spi_set_drvdata(spi_device, qcaspi_devs);
qcaspi_init_device_debugfs(qca); qcaspi_init_device_debugfs(qca);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment