History

Merge tag 's390-6.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Alexander Gordeev: - Avoid linker error for randomly generated config file that has CONFIG_BRANCH_PROFILE_NONE enabled and make it similar to riscv, x86 and also to commit 4bf3ec384edf ("s390: disable branch profiling for vdso"). - Currently, if the device is offline and all the channel paths are either configured or varied offline, the associated subchannel gets unregistered. Don't unregister the subchannel, instead unregister offline device. * tag 's390-6.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/purgatory: disable branch profiling s390/cio: unregister device when the only path is gone

Linus Torvalds committed 3 years ago

Commit 87aceaa2 parents 92d2221 03c5c832 files · +5 −1Browse files

Unified · Split

2 files
  1. arch/s390/purgatory/Makefile +1 −0
  2. drivers/s390/cio/device.c +4 −1
arch/s390/purgatory/Makefile+1−0
@@ -26,6 +26,7 @@ KBUILD_CFLAGS += -Wno-pointer-sign -Wno-sign-compare · 25 unmodified lines
26KBUILD_CFLAGS += -fno-zero-initialized-in-bss -fno-builtin -ffreestanding26KBUILD_CFLAGS += -fno-zero-initialized-in-bss -fno-builtin -ffreestanding
27KBUILD_CFLAGS += -Os -m64 -msoft-float -fno-common27KBUILD_CFLAGS += -Os -m64 -msoft-float -fno-common
28KBUILD_CFLAGS += -fno-stack-protector28KBUILD_CFLAGS += -fno-stack-protector
29KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
29KBUILD_CFLAGS += $(CLANG_FLAGS)30KBUILD_CFLAGS += $(CLANG_FLAGS)
30KBUILD_CFLAGS += $(call cc-option,-fno-PIE)31KBUILD_CFLAGS += $(call cc-option,-fno-PIE)
31KBUILD_AFLAGS := $(filter-out -DCC_USING_EXPOLINE,$(KBUILD_AFLAGS))32KBUILD_AFLAGS := $(filter-out -DCC_USING_EXPOLINE,$(KBUILD_AFLAGS))
drivers/s390/cio/device.c+4−1
@@ -1376,6 +1376,7 @@ void ccw_device_set_notoper(struct ccw_device *cdev) · 1375 unmodified lines
1376enum io_sch_action {1376enum io_sch_action {
1377 IO_SCH_UNREG,1377 IO_SCH_UNREG,
1378 IO_SCH_ORPH_UNREG,1378 IO_SCH_ORPH_UNREG,
1379 IO_SCH_UNREG_CDEV,
1379 IO_SCH_ATTACH,1380 IO_SCH_ATTACH,
1380 IO_SCH_UNREG_ATTACH,1381 IO_SCH_UNREG_ATTACH,
1381 IO_SCH_ORPH_ATTACH,1382 IO_SCH_ORPH_ATTACH,
@@ -1408,7 +1409,7 @@ static enum io_sch_action sch_get_action(struct subchannel *sch) · 26 unmodified lines
1408 }1409 }
1409 if ((sch->schib.pmcw.pam & sch->opm) == 0) {1410 if ((sch->schib.pmcw.pam & sch->opm) == 0) {
1410 if (ccw_device_notify(cdev, CIO_NO_PATH) != NOTIFY_OK)1411 if (ccw_device_notify(cdev, CIO_NO_PATH) != NOTIFY_OK)
1411 return IO_SCH_UNREG;1412 return IO_SCH_UNREG_CDEV;
1412 return IO_SCH_DISC;1413 return IO_SCH_DISC;
1413 }1414 }
1414 if (device_is_disconnected(cdev))1415 if (device_is_disconnected(cdev))
@@ -1470,6 +1471,7 @@ static int io_subchannel_sch_event(struct subchannel *sch, int process) · 55 unmodified lines
1470 case IO_SCH_ORPH_ATTACH:1471 case IO_SCH_ORPH_ATTACH:
1471 ccw_device_set_disconnected(cdev);1472 ccw_device_set_disconnected(cdev);
1472 break;1473 break;
1474 case IO_SCH_UNREG_CDEV:
1473 case IO_SCH_UNREG_ATTACH:1475 case IO_SCH_UNREG_ATTACH:
1474 case IO_SCH_UNREG:1476 case IO_SCH_UNREG:
1475 if (!cdev)1477 if (!cdev)
@@ -1503,6 +1505,7 @@ static int io_subchannel_sch_event(struct subchannel *sch, int process) · 27 unmodified lines
1503 if (rc)1505 if (rc)
1504 goto out;1506 goto out;
1505 break;1507 break;
1508 case IO_SCH_UNREG_CDEV:
1506 case IO_SCH_UNREG_ATTACH:1509 case IO_SCH_UNREG_ATTACH:
1507 spin_lock_irqsave(sch->lock, flags);1510 spin_lock_irqsave(sch->lock, flags);
1508 sch_set_cdev(sch, NULL);1511 sch_set_cdev(sch, NULL);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t