From: Johan Hovold <jhovold@gmail.com>
To: "David S. Miller" <davem@davemloft.net>,
Florian Fainelli <f.fainelli@gmail.com>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
netdev@vger.kernel.org, Mugunthan V N <mugunthanvnm@ti.com>,
Johan Hovold <jhovold@gmail.com>, Stefan Roese <sr@denx.de>,
stable <stable@vger.kernel.org>
Subject: [PATCH RESEND 3/5] Revert "net: eth: cpsw: Correctly attach to GPIO bitbang MDIO driver"
Date: Thu, 8 May 2014 10:09:22 +0200 [thread overview]
Message-ID: <1399536564-7626-4-git-send-email-jhovold@gmail.com> (raw)
In-Reply-To: <1399536564-7626-1-git-send-email-jhovold@gmail.com>
This reverts commit f8d56d8f892be43a2404356073e16401eb5a42e6.
Fix potential null-pointer dereference at probe if the mdio-gpio device
has not been successfully probed yet.
The offending commit is plain wrong for a number of reasons. First of
all it accesses internal driver data of an unrelated device. Neither
does it check that the data is non-null (which it is in case the device
has not been probed yet).
Furthermore, the decision on whether to treat any driver data according
to the mdio-gpio driver's internals is made based on the node name. But
the name is not compared against "mdio" which is the normal name for the
node, but rather against "gpio" which the node does not have to be named
(and shouldn't be according to the binding documentation). [ If this
hack is to be kept out-of-tree it should at least be matching against
the compatible property. ]
Cc: Stefan Roese <sr@denx.de>
Cc: stable <stable@vger.kernel.org> # v3.14
Signed-off-by: Johan Hovold <jhovold@gmail.com>
---
drivers/net/ethernet/ti/cpsw.c | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c
index 36aa109416c4..18d83d8d7f74 100644
--- a/drivers/net/ethernet/ti/cpsw.c
+++ b/drivers/net/ethernet/ti/cpsw.c
@@ -1871,18 +1871,8 @@ static int cpsw_probe_dt(struct cpsw_platform_data *data,
mdio_node = of_find_node_by_phandle(be32_to_cpup(parp));
phyid = be32_to_cpup(parp+1);
mdio = of_find_device_by_node(mdio_node);
-
- if (strncmp(mdio->name, "gpio", 4) == 0) {
- /* GPIO bitbang MDIO driver attached */
- struct mii_bus *bus = dev_get_drvdata(&mdio->dev);
-
- snprintf(slave_data->phy_id, sizeof(slave_data->phy_id),
- PHY_ID_FMT, bus->id, phyid);
- } else {
- /* davinci MDIO driver attached */
- snprintf(slave_data->phy_id, sizeof(slave_data->phy_id),
- PHY_ID_FMT, mdio->name, phyid);
- }
+ snprintf(slave_data->phy_id, sizeof(slave_data->phy_id),
+ PHY_ID_FMT, mdio->name, phyid);
mac_addr = of_get_mac_address(slave_node);
if (mac_addr)
--
1.8.3.2
next prev parent reply other threads:[~2014-05-08 8:09 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-08 7:37 [PATCH 0/5] net: cpsw and mdio-gpio fixes for v3.15-final Johan Hovold
[not found] ` <1399534639-4947-1-git-send-email-jhovold-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-05-08 7:37 ` [PATCH 1/5] net: mdio-gpio: fix device-tree binding documentation Johan Hovold
2014-05-08 7:37 ` [PATCH 2/5] net: mdio-gpio: warn about missing bus alias id Johan Hovold
2014-05-08 7:37 ` [PATCH 5/5] net: cpsw: add missing of_node_put Johan Hovold
2014-05-08 8:09 ` [PATCH RESEND 0/5] net: cpsw and mdio-gpio fixes for v3.15-final Johan Hovold
2014-05-08 8:09 ` [PATCH RESEND 1/5] net: mdio-gpio: fix device-tree binding documentation Johan Hovold
2014-05-08 8:09 ` [PATCH RESEND 2/5] net: mdio-gpio: warn about missing bus alias id Johan Hovold
2014-05-08 8:09 ` Johan Hovold [this message]
[not found] ` <1399536564-7626-1-git-send-email-jhovold-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2014-05-08 8:09 ` [PATCH RESEND 4/5] net: cpsw: fix null dereference at probe Johan Hovold
2014-05-08 8:09 ` [PATCH RESEND 5/5] net: cpsw: add missing of_node_put Johan Hovold
2014-05-09 19:51 ` [PATCH RESEND 0/5] net: cpsw and mdio-gpio fixes for v3.15-final David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1399536564-7626-4-git-send-email-jhovold@gmail.com \
--to=jhovold@gmail.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=f.fainelli@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mugunthanvnm@ti.com \
--cc=netdev@vger.kernel.org \
--cc=sr@denx.de \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).