net: b44: set pause params only when interface is up
Subsystems (3)
PATCH v3 1/1 net: b44: set pause params only when interface is up
Hi,
This patch fixes a kernel panic when using netifd.
Kind regards,
Signature · 1 line
Peter
b44_free_rings() accesses b44::rx_buffers (and ::tx_buffers) unconditionally, but b44::rx_buffers is only valid when the device is up (they get allocated in b44_open(), and deallocated again in b44_close()), any other time these is just a NULL pointers.
So if you try to change the pause params while the network interface is disabled/administratively down, everything explodes (which likely netifd tries to do).
--- drivers/net/ethernet/broadcom/b44.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-)
drivers/net/ethernet/broadcom/b44.c +8 -6
@@ -2009,12 +2009,14 @@ static int b44_set_pauseparam(struct net_device *dev, bp->flags |=B44_FLAG_TX_PAUSE ; else bp->flags &= ~B44_FLAG_TX_PAUSE; -if (bp->flags &B44_FLAG_PAUSE_AUTO ) { -b44_halt (bp); -b44_init_rings (bp); -b44_init_hw (bp,B44_FULL_RESET ); - }else { -__b44_set_flow_ctrl (bp, bp->flags); +if (netif_running (dev)) { +if (bp->flags &B44_FLAG_PAUSE_AUTO ) { +b44_halt (bp); +b44_init_rings (bp); +b44_init_hw (bp,B44_FULL_RESET ); + }else { +__b44_set_flow_ctrl (bp, bp->flags); + } }spin_unlock_irq (&bp->lock);
Signature · 1 line
2.35.3
Quoted 7 lines · Peter Münster
Hi,
This patch fixes a kernel panic when using netifd.
Kind regards,
Signature · 1 line
Peter
Still above the --- . Don't use attachments.
The best way to send patches is
git format-patch
followed by
git send email
https://docs.kernel.org/process/submitting-patches.html#the-canonical-patch-format
Alternatively, look at b4:
https://b4.docs.kernel.org/en/latest/contributor/prep.html
Interestingly, patchwork does seemed to of extracted the patch:
https://patchwork.kernel.org/project/netdevbpf/patch/[email protected]/
So it could be the patch can be applied as it is. Lets see what Jakub says.
Anyway:
We are picky about things like this because there are a lot of patches flying around, and we need to be efficient at applying them. So we want patches in a specific format. It takes a little bit of time to learn to do it correct, but once you use the tools correctly it becomes simple as a developer and efficient for those receiving the patches.
Andrew
Quoted 1 line · Andrew Lunn
Still above the --- . Don't use attachments.
Ah, ok, sorry.
Quoted 1 line
Lets see what Jakub says.
Ok, so I should wait before sending v4?
Quoted 1 line
Reviewed-by Andrew Lunn <[email protected]>
Another line to attach to the patch for v4?
Quoted 1 line
We are picky about things like this
No problem, I fully understand.
Signature · 1 line
Peter