This patch partially reverts the commit for
nvme_fc: add module to ops template to allow module references
The original patch:
Added an ops parameter of "module" to be set by the lldd, and the
lldds were updated to provide their value.
Used the parameter to take module references when a controller was
created or terminated.
The original patch was to resolve the lldd being able to be unloaded
while being used to talk to the boot device of the system. However, the
end result of the original patch is that any driver unload while a nvme
controller is live via the lldd is now being prohibited. Given the module
reference, the module teardown routine can't be called, thus there's no
way, other than manual actions to terminate the controllers.
This patch reverts the portion of the patch that takes module references
on controller creation. It leaves the module parameter so that it could
be used in the future.
As such, there will still remain the issue of detaching from the boot
device, yet needing boot device access to load a new module to replace
the lldd that was unloaded. A solution will be looked for later.
-- james
Fixes: 863fbae929c7 ("nvme_fc: add module to ops template to allow module references")
Cc: <stable(a)vger.kernel.org> # v5.4+
Signed-off-by: James Smart <jsmart2021(a)gmail.com>
Cc: Himanshu Madhani <himanshu.madhani(a)oracle.com>
CC: Christoph Hellwig <hch(a)lst.de>
CC: Keith Busch <kbusch(a)kernel.org>
---
fix typo in description "not"->"now"
---
drivers/nvme/host/fc.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c
index a8bf2fb1287b..1419c8c41fd8 100644
--- a/drivers/nvme/host/fc.c
+++ b/drivers/nvme/host/fc.c
@@ -2016,7 +2016,6 @@ nvme_fc_ctrl_free(struct kref *ref)
{
struct nvme_fc_ctrl *ctrl =
container_of(ref, struct nvme_fc_ctrl, ref);
- struct nvme_fc_lport *lport = ctrl->lport;
unsigned long flags;
if (ctrl->ctrl.tagset) {
@@ -2043,7 +2042,6 @@ nvme_fc_ctrl_free(struct kref *ref)
if (ctrl->ctrl.opts)
nvmf_free_options(ctrl->ctrl.opts);
kfree(ctrl);
- module_put(lport->ops->module);
}
static void
@@ -3074,15 +3072,10 @@ nvme_fc_init_ctrl(struct device *dev, struct nvmf_ctrl_options *opts,
goto out_fail;
}
- if (!try_module_get(lport->ops->module)) {
- ret = -EUNATCH;
- goto out_free_ctrl;
- }
-
idx = ida_simple_get(&nvme_fc_ctrl_cnt, 0, 0, GFP_KERNEL);
if (idx < 0) {
ret = -ENOSPC;
- goto out_mod_put;
+ goto out_free_ctrl;
}
ctrl->ctrl.opts = opts;
@@ -3232,8 +3225,6 @@ nvme_fc_init_ctrl(struct device *dev, struct nvmf_ctrl_options *opts,
out_free_ida:
put_device(ctrl->dev);
ida_simple_remove(&nvme_fc_ctrl_cnt, ctrl->cnum);
-out_mod_put:
- module_put(lport->ops->module);
out_free_ctrl:
kfree(ctrl);
out_fail:
--
2.16.4
This is the start of the stable review cycle for the 5.5.15 release.
There are 30 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Fri, 03 Apr 2020 16:09:36 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.5.15-rc1…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.5.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 5.5.15-rc1
Madalin Bucur <madalin.bucur(a)oss.nxp.com>
arm64: dts: ls1046ardb: set RGMII interfaces to RGMII_ID mode
Madalin Bucur <madalin.bucur(a)oss.nxp.com>
arm64: dts: ls1043a-rdb: correct RGMII delay mode to rgmii-id
Chen-Yu Tsai <wens(a)csie.org>
ARM: dts: sun8i: r40: Move AHCI device node based on address order
Arthur Demchenkov <spinal.by(a)gmail.com>
ARM: dts: N900: fix onenand timings
Marco Felsch <m.felsch(a)pengutronix.de>
ARM: dts: imx6: phycore-som: fix arm and soc minimum voltage
Nick Hudson <skrll(a)netbsd.org>
ARM: bcm2835-rpi-zero-w: Add missing pinctrl name
Nicolas Saenz Julienne <nsaenzjulienne(a)suse.de>
ARM: dts: bcm283x: Fix vc4's firmware bus DMA limitations
Sungbo Eo <mans0n(a)gorani.run>
ARM: dts: oxnas: Fix clear-mask property
disconnect3d <dominik.b.czarnota(a)gmail.com>
perf map: Fix off by one in strncpy() size argument
Ilie Halip <ilie.halip(a)gmail.com>
arm64: alternative: fix build with clang integrated assembler
Ilya Dryomov <idryomov(a)gmail.com>
libceph: fix alloc_msg_with_page_vector() memory leaks
Tony Lindgren <tony(a)atomide.com>
clk: ti: am43xx: Fix clock parent for RTC clock
Leonard Crestez <leonard.crestez(a)nxp.com>
clk: imx: Align imx sc clock parent msg structs to 4
Leonard Crestez <leonard.crestez(a)nxp.com>
clk: imx: Align imx sc clock msg structs to 4
Marek Vasut <marex(a)denx.de>
net: ks8851-ml: Fix IO operations, again
Hans de Goede <hdegoede(a)redhat.com>
gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 CHT + AXP288 model
Golan Ben Ami <golan.ben.ami(a)intel.com>
iwlwifi: don't send GEO_TX_POWER_LIMIT if no wgds table
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
bpf: Explicitly memset some bpf info structures declared on the stack
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
bpf: Explicitly memset the bpf_attr structure
Georg Müller <georgmueller(a)gmx.net>
platform/x86: pmc_atom: Add Lex 2I385SW to critclk_systems DMI table
Eric Biggers <ebiggers(a)google.com>
vt: vt_ioctl: fix use-after-free in vt_in_use()
Eric Biggers <ebiggers(a)google.com>
vt: vt_ioctl: fix VT_DISALLOCATE freeing in-use virtual console
Eric Biggers <ebiggers(a)google.com>
vt: vt_ioctl: remove unnecessary console allocation checks
Jiri Slaby <jslaby(a)suse.cz>
vt: switch vt_dont_switch to bool
Jiri Slaby <jslaby(a)suse.cz>
vt: ioctl, switch VT_IS_IN_USE and VT_BUSY to inlines
Jiri Slaby <jslaby(a)suse.cz>
vt: selection, introduce vc_is_sel
Lanqing Liu <liuhhome(a)gmail.com>
serial: sprd: Fix a dereference warning
Johannes Berg <johannes.berg(a)intel.com>
mac80211: fix authentication with iwlwifi/mvm
Jouni Malinen <jouni(a)codeaurora.org>
mac80211: Check port authorization in the ieee80211_tx_dequeue() case
Daniel Borkmann <daniel(a)iogearbox.net>
bpf: update jmp32 test cases to fix range bound deduction
-------------
Diffstat:
Makefile | 4 +-
arch/arm/boot/dts/bcm2835-rpi-zero-w.dts | 1 +
arch/arm/boot/dts/bcm2835-rpi.dtsi | 1 +
arch/arm/boot/dts/imx6qdl-phytec-phycore-som.dtsi | 4 +-
arch/arm/boot/dts/omap3-n900.dts | 44 ++++++++-----
arch/arm/boot/dts/ox810se.dtsi | 4 +-
arch/arm/boot/dts/ox820.dtsi | 4 +-
arch/arm/boot/dts/sun8i-r40.dtsi | 21 +++----
arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | 4 +-
arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts | 4 +-
arch/arm64/include/asm/alternative.h | 2 +-
drivers/clk/imx/clk-scu.c | 8 +--
drivers/clk/ti/clk-43xx.c | 2 +-
drivers/gpio/gpiolib-acpi.c | 15 +++++
drivers/net/ethernet/micrel/ks8851_mll.c | 56 +++++++++++++++--
drivers/net/wireless/intel/iwlwifi/fw/acpi.c | 14 +++--
drivers/net/wireless/intel/iwlwifi/fw/acpi.h | 14 +++--
drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 9 ++-
drivers/platform/x86/pmc_atom.c | 8 +++
drivers/tty/serial/sprd_serial.c | 3 +-
drivers/tty/vt/selection.c | 5 ++
drivers/tty/vt/vt.c | 30 +++++++--
drivers/tty/vt/vt_ioctl.c | 75 ++++++++++++-----------
include/linux/ceph/messenger.h | 7 ++-
include/linux/selection.h | 4 +-
include/linux/vt_kern.h | 2 +-
kernel/bpf/btf.c | 3 +-
kernel/bpf/syscall.c | 9 ++-
net/ceph/messenger.c | 9 ++-
net/ceph/osd_client.c | 14 +----
net/mac80211/tx.c | 20 +++++-
tools/perf/util/map.c | 2 +-
tools/testing/selftests/bpf/verifier/jmp32.c | 9 ++-
33 files changed, 281 insertions(+), 130 deletions(-)
The audio setup on the Lenovo Carbon X1 8th gen is the same as that on
the Lenovo Carbon X1 7th gen, as such it needs the same
ALC285_FIXUP_THINKPAD_HEADSET_JACK quirk.
This fixes volume control of the speaker not working among other things.
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1820196
Cc: stable(a)vger.kernel.org
Suggested-by: Jaroslav Kysela <perex(a)perex.cz>
Signed-off-by: Hans de Goede <hdegoede(a)redhat.com>
---
sound/pci/hda/patch_realtek.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 63e1a56f705b..9c3bbf1df93e 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -7299,6 +7299,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x17aa, 0x225d, "Thinkpad T480", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
SND_PCI_QUIRK(0x17aa, 0x2292, "Thinkpad X1 Yoga 7th", ALC285_FIXUP_THINKPAD_HEADSET_JACK),
SND_PCI_QUIRK(0x17aa, 0x2293, "Thinkpad X1 Carbon 7th", ALC285_FIXUP_THINKPAD_HEADSET_JACK),
+ SND_PCI_QUIRK(0x17aa, 0x22be, "Thinkpad X1 Carbon 8th", ALC285_FIXUP_THINKPAD_HEADSET_JACK),
SND_PCI_QUIRK(0x17aa, 0x30bb, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
SND_PCI_QUIRK(0x17aa, 0x30e2, "ThinkCentre AIO", ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY),
SND_PCI_QUIRK(0x17aa, 0x310c, "ThinkCentre Station", ALC294_FIXUP_LENOVO_MIC_LOCATION),
--
2.26.0
This is the start of the stable review cycle for the 5.4.30 release.
There are 27 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Fri, 03 Apr 2020 16:09:36 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.30-rc1…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.4.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 5.4.30-rc1
Madalin Bucur <madalin.bucur(a)oss.nxp.com>
arm64: dts: ls1046ardb: set RGMII interfaces to RGMII_ID mode
Madalin Bucur <madalin.bucur(a)oss.nxp.com>
arm64: dts: ls1043a-rdb: correct RGMII delay mode to rgmii-id
Chen-Yu Tsai <wens(a)csie.org>
ARM: dts: sun8i: r40: Move AHCI device node based on address order
Arthur Demchenkov <spinal.by(a)gmail.com>
ARM: dts: N900: fix onenand timings
Marco Felsch <m.felsch(a)pengutronix.de>
ARM: dts: imx6: phycore-som: fix arm and soc minimum voltage
Nick Hudson <skrll(a)netbsd.org>
ARM: bcm2835-rpi-zero-w: Add missing pinctrl name
Sungbo Eo <mans0n(a)gorani.run>
ARM: dts: oxnas: Fix clear-mask property
disconnect3d <dominik.b.czarnota(a)gmail.com>
perf map: Fix off by one in strncpy() size argument
Ilie Halip <ilie.halip(a)gmail.com>
arm64: alternative: fix build with clang integrated assembler
Ilya Dryomov <idryomov(a)gmail.com>
libceph: fix alloc_msg_with_page_vector() memory leaks
Tony Lindgren <tony(a)atomide.com>
clk: ti: am43xx: Fix clock parent for RTC clock
Leonard Crestez <leonard.crestez(a)nxp.com>
clk: imx: Align imx sc clock parent msg structs to 4
Leonard Crestez <leonard.crestez(a)nxp.com>
clk: imx: Align imx sc clock msg structs to 4
Marek Vasut <marex(a)denx.de>
net: ks8851-ml: Fix IO operations, again
Hans de Goede <hdegoede(a)redhat.com>
gpiolib: acpi: Add quirk to ignore EC wakeups on HP x2 10 CHT + AXP288 model
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
bpf: Explicitly memset some bpf info structures declared on the stack
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
bpf: Explicitly memset the bpf_attr structure
Georg Müller <georgmueller(a)gmx.net>
platform/x86: pmc_atom: Add Lex 2I385SW to critclk_systems DMI table
Eric Biggers <ebiggers(a)google.com>
vt: vt_ioctl: fix use-after-free in vt_in_use()
Eric Biggers <ebiggers(a)google.com>
vt: vt_ioctl: fix VT_DISALLOCATE freeing in-use virtual console
Eric Biggers <ebiggers(a)google.com>
vt: vt_ioctl: remove unnecessary console allocation checks
Jiri Slaby <jslaby(a)suse.cz>
vt: switch vt_dont_switch to bool
Jiri Slaby <jslaby(a)suse.cz>
vt: ioctl, switch VT_IS_IN_USE and VT_BUSY to inlines
Jiri Slaby <jslaby(a)suse.cz>
vt: selection, introduce vc_is_sel
Lanqing Liu <liuhhome(a)gmail.com>
serial: sprd: Fix a dereference warning
Johannes Berg <johannes.berg(a)intel.com>
mac80211: fix authentication with iwlwifi/mvm
Jouni Malinen <jouni(a)codeaurora.org>
mac80211: Check port authorization in the ieee80211_tx_dequeue() case
-------------
Diffstat:
Makefile | 4 +-
arch/arm/boot/dts/bcm2835-rpi-zero-w.dts | 1 +
arch/arm/boot/dts/imx6qdl-phytec-phycore-som.dtsi | 4 +-
arch/arm/boot/dts/omap3-n900.dts | 44 ++++++++-----
arch/arm/boot/dts/ox810se.dtsi | 4 +-
arch/arm/boot/dts/ox820.dtsi | 4 +-
arch/arm/boot/dts/sun8i-r40.dtsi | 21 +++----
arch/arm64/boot/dts/freescale/fsl-ls1043a-rdb.dts | 4 +-
arch/arm64/boot/dts/freescale/fsl-ls1046a-rdb.dts | 4 +-
arch/arm64/include/asm/alternative.h | 2 +-
drivers/clk/imx/clk-scu.c | 8 +--
drivers/clk/ti/clk-43xx.c | 2 +-
drivers/gpio/gpiolib-acpi.c | 15 +++++
drivers/net/ethernet/micrel/ks8851_mll.c | 56 +++++++++++++++--
drivers/platform/x86/pmc_atom.c | 8 +++
drivers/tty/serial/sprd_serial.c | 3 +-
drivers/tty/vt/selection.c | 5 ++
drivers/tty/vt/vt.c | 30 +++++++--
drivers/tty/vt/vt_ioctl.c | 75 ++++++++++++-----------
include/linux/ceph/messenger.h | 7 ++-
include/linux/selection.h | 4 +-
include/linux/vt_kern.h | 2 +-
kernel/bpf/btf.c | 3 +-
kernel/bpf/syscall.c | 9 ++-
net/ceph/messenger.c | 9 ++-
net/ceph/osd_client.c | 14 +----
net/mac80211/tx.c | 20 +++++-
tools/perf/util/map.c | 2 +-
28 files changed, 250 insertions(+), 114 deletions(-)