Public bug reported:

[IMPACT]
This upstream commit:

863fbae929c7a5b64e96b8a3ffb34a29eefb9f8f nvme_fc: add module to ops
template to allow module references

was pulled into Focal as part of this bug:
https://bugs.launchpad.net/bugs/1860125 and this commit into Focal:
a7441301b20dc8a7772972a092968bb353b7a642

This patch was added to prevent the unloading of lpfc driver when doing
NVMe BFS booting.  Broadcom has identified that this patch introduces a
bug that prevents unloading of lpfc driver in the non-BFS case as well.

Because of this, they have asked that we revert this patch and remove it
from our kernel, and also said that they are working on a patch upstream
to revert this as well.  As it may not land upstream in time to meet
kernel freeze for Focal, I'm providing a patch to revert this commit in
Focal.

Broadcom has asked that we revert this commit from the Focal tree and
are working on a patch to revert this commit upstream.  The reason is
that this patch has been determined to be the root cause of a bug
identified by the upstream provider

[FIXES]
To resolve, revert the following commit ID in the Focal Tree:
a7441301b20dc8a7772972a092968bb353b7a642
nvme_fc: add module to ops template to allow module references

    BugLink: https://bugs.launchpad.net/bugs/1860125

    [ Upstream commit 863fbae929c7a5b64e96b8a3ffb34a29eefb9f8f ]

    In nvme-fc: it's possible to have connected active controllers
    and as no references are taken on the LLDD, the LLDD can be
    unloaded.  The controller would enter a reconnect state and as
    long as the LLDD resumed within the reconnect timeout, the
    controller would resume.  But if a namespace on the controller
    is the root device, allowing the driver to unload can be problematic.
    To reload the driver, it may require new io to the boot device,
    and as it's no longer connected we get into a catch-22 that
    eventually fails, and the system locks up.

    Fix this issue by taking a module reference for every connected
    controller (which is what the core layer did to the transport
    module). Reference is cleared when the controller is removed.

    Acked-by: Himanshu Madhani <[email protected]>
    Reviewed-by: Christoph Hellwig <[email protected]>
    Signed-off-by: James Smart <[email protected]>
    Signed-off-by: Keith Busch <[email protected]>
    Signed-off-by: Sasha Levin <[email protected]>
    Signed-off-by: Paolo Pisati <[email protected]>

[REGRESSION RISK]
Regression risk is low as this is a new patch introduced upstream and synced 
into a development release.  The patch only exists in our tree from 
Ubuntu-5.4-5.4.0-13.16 onwards and does not affect older kernels.

** Affects: linux (Ubuntu)
     Importance: High
     Assignee: Jeff Lane (bladernr)
         Status: In Progress

** Changed in: linux (Ubuntu)
       Status: New => In Progress

** Changed in: linux (Ubuntu)
   Importance: Undecided => High

** Changed in: linux (Ubuntu)
     Assignee: (unassigned) => Jeff Lane (bladernr)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1869947

Title:
  revert patch that introduces bug that prevents lpfc driver unloading

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1869947/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to