lkml.org 
[lkml]   [2021]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 0/3] Fix for KSZ DSA switch shutdown
    On Thu, Sep 09, 2021 at 11:53:21AM +0200, Lino Sanfilippo wrote:
    > This patch series fixes a system hang I got each time i tried to shutdown
    > or reboot a system that uses a KSZ9897 as a DSA switch with a broadcom
    > GENET network device as the DSA master device. At the time the system hangs
    > the message "unregister_netdevice: waiting for eth0 to become free. Usage
    > count = 2." is dumped periodically to the console.
    >
    > After some investigation I found the reason to be unreleased references to
    > the master device which are still held by the slave devices at the time the
    > system is shut down (I have two slave devices in use).
    >
    > While these references are supposed to be released in ksz_switch_remove()
    > this function never gets the chance to be called due to the system hang at
    > the master device deregistration which happens before ksz_switch_remove()
    > is called.
    >
    > The fix is to make sure that the master device references are already
    > released when the device is unregistered. For this reason PATCH1 provides
    > a new function dsa_tree_shutdown() that can be called by DSA drivers to
    > untear the DSA switch at shutdown. PATCH2 uses this function in a new
    > helper function for KSZ switches to properly shutdown the KSZ switch.
    > PATCH 3 uses the new helper function in the KSZ9477 shutdown handler.
    >
    > Theses patches have been tested on a Raspberry PI 5.10 kernel with a
    > KSZ9897. The patches have been adjusted to apply against net-next and are
    > compile tested with next-next.

    Can you try this patch

    commit 07b90056cb15ff9877dca0d8f1b6583d1051f724
    Author: Vladimir Oltean <vladimir.oltean@nxp.com>
    Date: Tue Jan 12 01:09:43 2021 +0200

    net: dsa: unbind all switches from tree when DSA master unbinds

    Currently the following happens when a DSA master driver unbinds while
    there are DSA switches attached to it:

    \
     
     \ /
      Last update: 2021-09-09 12:15    [W:2.250 / U:0.724 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site