Skip to content

Commit 8b7250e

Browse files
author
CKI KWF Bot
committed
Merge: [s390] Upgrade the QETH driver to latest from upstream
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/886 JIRA: https://issues.redhat.com/browse/RHEL-73487 CVE: CVE-2025-21856 Commits: ``` c3a04f7 6cccb3b 0d0b752 915e34d ``` Signed-off-by: Mete Durlu <[email protected]> Approved-by: Steve Best <[email protected]> Approved-by: Tony Camuso <[email protected]> Approved-by: CKI KWF Bot <[email protected]> Merged-by: CKI GitLab Kmaint Pipeline Bot <[email protected]>
2 parents bb50300 + 80e5855 commit 8b7250e

File tree

10 files changed

+31
-2758
lines changed

10 files changed

+31
-2758
lines changed

Documentation/arch/s390/driver-model.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ information about the interrupt from the irb parameter.
244244
--------------------
245245

246246
The ccwgroup mechanism is designed to handle devices consisting of multiple ccw
247-
devices, like lcs or ctc.
247+
devices, like qeth or ctc.
248248

249249
The ccw driver provides a 'group' attribute. Piping bus ids of ccw devices to
250250
this attributes creates a ccwgroup device consisting of these ccw devices (if

arch/s390/include/asm/irq.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ enum interruption_class {
5454
IRQIO_C70,
5555
IRQIO_TAP,
5656
IRQIO_VMR,
57-
IRQIO_LCS,
5857
IRQIO_CTC,
5958
IRQIO_ADM,
6059
IRQIO_CSC,

arch/s390/kernel/irq.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ static const struct irq_class irqclass_sub_desc[] = {
8484
{.irq = IRQIO_C70, .name = "C70", .desc = "[I/O] 3270"},
8585
{.irq = IRQIO_TAP, .name = "TAP", .desc = "[I/O] Tape"},
8686
{.irq = IRQIO_VMR, .name = "VMR", .desc = "[I/O] Unit Record Devices"},
87-
{.irq = IRQIO_LCS, .name = "LCS", .desc = "[I/O] LCS"},
8887
{.irq = IRQIO_CTC, .name = "CTC", .desc = "[I/O] CTC"},
8988
{.irq = IRQIO_ADM, .name = "ADM", .desc = "[I/O] EADM Subchannel"},
9089
{.irq = IRQIO_CSC, .name = "CSC", .desc = "[I/O] CHSC Subchannel"},

drivers/s390/net/Kconfig

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,6 @@
22
menu "S/390 network device drivers"
33
depends on NETDEVICES && S390
44

5-
config LCS
6-
def_tristate m
7-
prompt "Lan Channel Station Interface"
8-
depends on CCW && NETDEVICES && ETHERNET
9-
help
10-
Select this option if you want to use LCS networking on IBM System z.
11-
To compile as a module, choose M. The module name is lcs.
12-
If you do not use LCS, choose N.
13-
145
config CTCM
156
def_tristate m
167
prompt "CTC and MPC SNA device support"
@@ -98,7 +89,7 @@ config QETH_OSX
9889

9990
config CCWGROUP
10091
tristate
101-
default (LCS || CTCM || QETH || SMC)
92+
default (CTCM || QETH || SMC)
10293

10394
config ISM
10495
tristate "Support for ISM vPCI Adapter"

drivers/s390/net/Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ obj-$(CONFIG_CTCM) += ctcm.o fsm.o
88
obj-$(CONFIG_NETIUCV) += netiucv.o fsm.o
99
obj-$(CONFIG_SMSGIUCV) += smsgiucv.o
1010
obj-$(CONFIG_SMSGIUCV_EVENT) += smsgiucv_app.o
11-
obj-$(CONFIG_LCS) += lcs.o
1211
qeth-y += qeth_core_sys.o qeth_core_main.o qeth_core_mpc.o qeth_ethtool.o
1312
obj-$(CONFIG_QETH) += qeth.o
1413
qeth_l2-y += qeth_l2_main.o qeth_l2_sys.o

drivers/s390/net/ism_drv.c

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,15 @@ static int ism_dev_init(struct ism_dev *ism)
588588
return ret;
589589
}
590590

591+
static void ism_dev_release(struct device *dev)
592+
{
593+
struct ism_dev *ism;
594+
595+
ism = container_of(dev, struct ism_dev, dev);
596+
597+
kfree(ism);
598+
}
599+
591600
static int ism_probe(struct pci_dev *pdev, const struct pci_device_id *id)
592601
{
593602
struct ism_dev *ism;
@@ -601,6 +610,7 @@ static int ism_probe(struct pci_dev *pdev, const struct pci_device_id *id)
601610
dev_set_drvdata(&pdev->dev, ism);
602611
ism->pdev = pdev;
603612
ism->dev.parent = &pdev->dev;
613+
ism->dev.release = ism_dev_release;
604614
device_initialize(&ism->dev);
605615
dev_set_name(&ism->dev, dev_name(&pdev->dev));
606616
ret = device_add(&ism->dev);
@@ -637,7 +647,7 @@ static int ism_probe(struct pci_dev *pdev, const struct pci_device_id *id)
637647
device_del(&ism->dev);
638648
err_dev:
639649
dev_set_drvdata(&pdev->dev, NULL);
640-
kfree(ism);
650+
put_device(&ism->dev);
641651

642652
return ret;
643653
}
@@ -682,7 +692,7 @@ static void ism_remove(struct pci_dev *pdev)
682692
pci_disable_device(pdev);
683693
device_del(&ism->dev);
684694
dev_set_drvdata(&pdev->dev, NULL);
685-
kfree(ism);
695+
put_device(&ism->dev);
686696
}
687697

688698
static struct pci_driver ism_driver = {

0 commit comments

Comments
 (0)