From: Ben Hutchings <hidden> Date: 2012-11-13 19:51:39
On Mon, 2012-11-12 at 00:25 -0500, David Miller wrote:
Please queue up the following networking bug fixes for
3.0.x, 3.2.x, 3.4.x, and 3.6.x, respectively.
[...]
From 2204849a85383fbde75680aa199142abe504adbb Mon Sep 17 00:00:00 2001
From: Peter Senna Tschudin <peter.senna@gmail.com>
Date: Sun, 28 Oct 2012 06:12:01 +0000
Subject: [PATCH 7/9] drivers/net/phy/mdio-bitbang.c: Call mdiobus_unregister
before mdiobus_free
[ Upstream commit aa731872f7d33dcb8b54dad0cfb82d4e4d195d7e ]
Based on commit b27393aecf66199f5ddad37c302d3e0cfadbe6c0
Calling mdiobus_free without calling mdiobus_unregister causes
BUG_ON(). This patch fixes the issue.
[...]
This introduces a regresssion, as mdiobus_unregister() is not safe to
call if the bus isn't registered. Registration is controlled by the
drivers that use mdio-bitbang, and they should take care of
unregistration too - and most of them do.
This should be reverted in mainline and not applied to any stable
series.
Ben.
--
Ben Hutchings
For every complex problem
there is a solution that is simple, neat, and wrong.
From: Peter Senna Tschudin <peter.senna@gmail.com> Date: 2012-11-14 14:02:25
Hi Ben,
On Tue, Nov 13, 2012 at 8:51 PM, Ben Hutchings [off-list ref] wrote:
On Mon, 2012-11-12 at 00:25 -0500, David Miller wrote:
quoted
Please queue up the following networking bug fixes for
3.0.x, 3.2.x, 3.4.x, and 3.6.x, respectively.
[...]
quoted
From 2204849a85383fbde75680aa199142abe504adbb Mon Sep 17 00:00:00 2001
From: Peter Senna Tschudin <peter.senna@gmail.com>
Date: Sun, 28 Oct 2012 06:12:01 +0000
Subject: [PATCH 7/9] drivers/net/phy/mdio-bitbang.c: Call mdiobus_unregister
before mdiobus_free
[ Upstream commit aa731872f7d33dcb8b54dad0cfb82d4e4d195d7e ]
Based on commit b27393aecf66199f5ddad37c302d3e0cfadbe6c0
Calling mdiobus_free without calling mdiobus_unregister causes
BUG_ON(). This patch fixes the issue.
[...]
This introduces a regresssion, as mdiobus_unregister() is not safe to
call if the bus isn't registered. Registration is controlled by the
drivers that use mdio-bitbang, and they should take care of
unregistration too - and most of them do.
Is mdiobus_free() safe to call if the bus isn't registered?
I found calls to free_mdio_bitbang() after call to
mdiobus_unregister() that may be the worst cases for my patch. But I
also found places that call free_mdio_bitbang() without first calling
mdiobus_unregister(). See:
linux-next/arch/powerpc/platforms/82xx/ep8248e.c:152
linux-next/drivers/net/ethernet/8390/ax88796.c:647
linux-next/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c:197
linux-next/drivers/net/phy/mdio-gpio.c:157
linux-next/drivers/net/phy/mdio-gpio.c:172
Are those calls to free_mdio_bitbang() wrong by not calling
mdiobus_unregister() before?
This should be reverted in mainline and not applied to any stable
series.
Ben.
--
Ben Hutchings
For every complex problem
there is a solution that is simple, neat, and wrong.
From: Ben Hutchings <hidden> Date: 2012-11-14 16:35:09
On Wed, 2012-11-14 at 15:02 +0100, Peter Senna Tschudin wrote:
Hi Ben,
On Tue, Nov 13, 2012 at 8:51 PM, Ben Hutchings [off-list ref] wrote:
quoted
On Mon, 2012-11-12 at 00:25 -0500, David Miller wrote:
quoted
Please queue up the following networking bug fixes for
3.0.x, 3.2.x, 3.4.x, and 3.6.x, respectively.
[...]
quoted
From 2204849a85383fbde75680aa199142abe504adbb Mon Sep 17 00:00:00 2001
From: Peter Senna Tschudin <peter.senna@gmail.com>
Date: Sun, 28 Oct 2012 06:12:01 +0000
Subject: [PATCH 7/9] drivers/net/phy/mdio-bitbang.c: Call mdiobus_unregister
before mdiobus_free
[ Upstream commit aa731872f7d33dcb8b54dad0cfb82d4e4d195d7e ]
Based on commit b27393aecf66199f5ddad37c302d3e0cfadbe6c0
Calling mdiobus_free without calling mdiobus_unregister causes
BUG_ON(). This patch fixes the issue.
[...]
This introduces a regresssion, as mdiobus_unregister() is not safe to
call if the bus isn't registered. Registration is controlled by the
drivers that use mdio-bitbang, and they should take care of
unregistration too - and most of them do.
Is mdiobus_free() safe to call if the bus isn't registered?
[...]
It must be, otherwise what do you do if mdiobus_register() fails?
Ben.
--
Ben Hutchings
friends: People who know you well, but like you anyway.
From: David Miller <davem@davemloft.net> Date: 2012-11-15 03:31:47
From: Ben Hutchings <redacted>
Date: Tue, 13 Nov 2012 19:51:26 +0000
On Mon, 2012-11-12 at 00:25 -0500, David Miller wrote:
quoted
Please queue up the following networking bug fixes for
3.0.x, 3.2.x, 3.4.x, and 3.6.x, respectively.
[...]
quoted
From 2204849a85383fbde75680aa199142abe504adbb Mon Sep 17 00:00:00 2001
From: Peter Senna Tschudin <peter.senna@gmail.com>
Date: Sun, 28 Oct 2012 06:12:01 +0000
Subject: [PATCH 7/9] drivers/net/phy/mdio-bitbang.c: Call mdiobus_unregister
before mdiobus_free
[ Upstream commit aa731872f7d33dcb8b54dad0cfb82d4e4d195d7e ]
Based on commit b27393aecf66199f5ddad37c302d3e0cfadbe6c0
Calling mdiobus_free without calling mdiobus_unregister causes
BUG_ON(). This patch fixes the issue.
[...]
This introduces a regresssion, as mdiobus_unregister() is not safe to
call if the bus isn't registered. Registration is controlled by the
drivers that use mdio-bitbang, and they should take care of
unregistration too - and most of them do.
This should be reverted in mainline and not applied to any stable
series.
Ok, I'll revert.
Greg, please toss it from your -stable queue as well.
Thanks!
On Wed, Nov 14, 2012 at 10:31:45PM -0500, David Miller wrote:
From: Ben Hutchings <redacted>
Date: Tue, 13 Nov 2012 19:51:26 +0000
quoted
On Mon, 2012-11-12 at 00:25 -0500, David Miller wrote:
quoted
Please queue up the following networking bug fixes for
3.0.x, 3.2.x, 3.4.x, and 3.6.x, respectively.
[...]
quoted
From 2204849a85383fbde75680aa199142abe504adbb Mon Sep 17 00:00:00 2001
From: Peter Senna Tschudin <peter.senna@gmail.com>
Date: Sun, 28 Oct 2012 06:12:01 +0000
Subject: [PATCH 7/9] drivers/net/phy/mdio-bitbang.c: Call mdiobus_unregister
before mdiobus_free
[ Upstream commit aa731872f7d33dcb8b54dad0cfb82d4e4d195d7e ]
Based on commit b27393aecf66199f5ddad37c302d3e0cfadbe6c0
Calling mdiobus_free without calling mdiobus_unregister causes
BUG_ON(). This patch fixes the issue.
[...]
This introduces a regresssion, as mdiobus_unregister() is not safe to
call if the bus isn't registered. Registration is controlled by the
drivers that use mdio-bitbang, and they should take care of
unregistration too - and most of them do.
This should be reverted in mainline and not applied to any stable
series.
Ok, I'll revert.
Greg, please toss it from your -stable queue as well.