
To keep kernel debian stx aligned with centos stx, porting below commits from centos stx to debian stx: (1)patches related ef3c9a4 kernel: Add auxiliary bus support 19ca0df kernel: Backport IRQ affinity patches a10b746 workqueue affinity: Remove unused variable 8fde1a8 kthread_cpus: Avoid large stack allocation bb6ec66 scsi: Make the disk detection order more consistent bf940a8 rcu: Avoid RCU-related unexpected reboot cfe452a workqueue: Affine rescuer threads and unbound wqs (2)config related 6fe8d60 kernel: Disable NVMe multi-path kconfig option c9cdb90 Fixup recent kconfig cleanup 8551799 Resolve v5.10 kernel configuration file differences (3)kernel-modules related 7ded004 kernel-modules: IRQ affinity hint fix-ups Please pay attention to: [ef3c9a4 kernel: Add auxiliary bus support] which is not only related with kernel patches but also related with kernel-modules. It removes the auxiliary.ko from the oot ice package because auxiliary bus device driver is built into kernel. But the detecting of builtin auxiliary driver in intel-iavf/intel-ice oot driver will fail because debian has 2 linux header packages. So extra patches are added for intel-iavf and intel-ice to pass linux common header to check_aux_bus to make builtin auxiliary driver detected. At the same time the patch [check_aux_bus: Look for kernel headers in the right location] for the oot drivers is removed because it isn't needed any more if the right header path is passed. Test Plan: - PASS: Build kernel-std/kernel-rt. - PASS: Build the 7 oot kernel modules for kernel-std/kernel-rt. - PASS: Build the iso for kernel-std and modules and boot up on qemu. - PASS: Build the test iso for kernel-rt and modules and boot up on qemu. Story: 2009221 Task: 44989 Signed-off-by: Li Zhou <li.zhou@windriver.com> Change-Id: Ic7cddc068eab1516800e90bfe431d042274f86d3
168 lines
4.8 KiB
Diff
168 lines
4.8 KiB
Diff
From 42f1ccc21f873a27c125a4e1aa3cb70a2336aa14 Mon Sep 17 00:00:00 2001
|
|
From: Jiping Ma <jiping.ma2@windriver.com>
|
|
Date: Wed, 8 Dec 2021 17:49:56 -0800
|
|
Subject: [PATCH] Revert "scsi: sd: Inline sd_probe_part2()"
|
|
|
|
This reverts commit 82a54da641f3cacfa31db36fc58a5e903f804c22.
|
|
|
|
Merge conflicts were encountered when reverting this commit, which
|
|
inlines sd_probe_part2() into sd_probe(). However, the inlined parts
|
|
of sd_probe_part2() have since been modified. To avoid a difference
|
|
in behaviour, the updated code was relocated to sd_probe_part2().
|
|
|
|
The inlined code has been modified as follows since the inlining
|
|
happened:
|
|
The following code was added
|
|
if (sdp->rpm_autosuspend) {
|
|
pm_runtime_set_autosuspend_delay(dev,
|
|
sdp->host->hostt->rpm_autosuspend_delay);
|
|
}
|
|
between the following line
|
|
blk_pm_runtime_init(sdp->request_queue, dev);
|
|
and the following line
|
|
device_add_disk(dev, gd, NULL);
|
|
|
|
In addition, init_opal_dev() is now passed the pointer "sdkp"
|
|
instead of "sdp" as the first argument. This commit ensures that
|
|
these two changes were accounted for when reverting the inlining
|
|
of sd_probe_part2().
|
|
|
|
Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com>
|
|
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
|
---
|
|
drivers/scsi/sd.c | 111 ++++++++++++++++++++++++++--------------------
|
|
1 file changed, 63 insertions(+), 48 deletions(-)
|
|
|
|
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
|
|
index 56e291708587..d1d27516fc6a 100644
|
|
--- a/drivers/scsi/sd.c
|
|
+++ b/drivers/scsi/sd.c
|
|
@@ -3364,6 +3364,68 @@ static int sd_format_disk_name(char *prefix, int index, char *buf, int buflen)
|
|
return 0;
|
|
}
|
|
|
|
+static void sd_probe_part2(struct scsi_disk *sdkp)
|
|
+{
|
|
+ struct scsi_device *sdp;
|
|
+ struct gendisk *gd;
|
|
+ u32 index;
|
|
+ struct device *dev;
|
|
+
|
|
+ sdp = sdkp->device;
|
|
+ gd = sdkp->disk;
|
|
+ index = sdkp->index;
|
|
+ dev = &sdp->sdev_gendev;
|
|
+
|
|
+ gd->major = sd_major((index & 0xf0) >> 4);
|
|
+ gd->first_minor = ((index & 0xf) << 4) | (index & 0xfff00);
|
|
+
|
|
+ gd->fops = &sd_fops;
|
|
+ gd->private_data = &sdkp->driver;
|
|
+ gd->queue = sdkp->device->request_queue;
|
|
+
|
|
+ /* defaults, until the device tells us otherwise */
|
|
+ sdp->sector_size = 512;
|
|
+ sdkp->capacity = 0;
|
|
+ sdkp->media_present = 1;
|
|
+ sdkp->write_prot = 0;
|
|
+ sdkp->cache_override = 0;
|
|
+ sdkp->WCE = 0;
|
|
+ sdkp->RCD = 0;
|
|
+ sdkp->ATO = 0;
|
|
+ sdkp->first_scan = 1;
|
|
+ sdkp->max_medium_access_timeouts = SD_MAX_MEDIUM_TIMEOUTS;
|
|
+
|
|
+ sd_revalidate_disk(gd);
|
|
+
|
|
+ gd->flags = GENHD_FL_EXT_DEVT;
|
|
+ if (sdp->removable) {
|
|
+ gd->flags |= GENHD_FL_REMOVABLE;
|
|
+ gd->events |= DISK_EVENT_MEDIA_CHANGE;
|
|
+ gd->event_flags = DISK_EVENT_FLAG_POLL | DISK_EVENT_FLAG_UEVENT;
|
|
+ }
|
|
+
|
|
+ blk_pm_runtime_init(sdp->request_queue, dev);
|
|
+ if (sdp->rpm_autosuspend) {
|
|
+ pm_runtime_set_autosuspend_delay(dev,
|
|
+ sdp->host->hostt->rpm_autosuspend_delay);
|
|
+ }
|
|
+ device_add_disk(dev, gd, NULL);
|
|
+ if (sdkp->capacity)
|
|
+ sd_dif_config_host(sdkp);
|
|
+
|
|
+ sd_revalidate_disk(gd);
|
|
+
|
|
+ if (sdkp->security) {
|
|
+ sdkp->opal_dev = init_opal_dev(sdkp, &sd_sec_submit);
|
|
+ if (sdkp->opal_dev)
|
|
+ sd_printk(KERN_NOTICE, sdkp, "supports TCG Opal\n");
|
|
+ }
|
|
+
|
|
+ sd_printk(KERN_NOTICE, sdkp, "Attached SCSI %sdisk\n",
|
|
+ sdp->removable ? "removable " : "");
|
|
+ scsi_autopm_put_device(sdp);
|
|
+}
|
|
+
|
|
/**
|
|
* sd_probe - called during driver initialization and whenever a
|
|
* new scsi device is attached to the system. It is called once
|
|
@@ -3455,54 +3517,7 @@ static int sd_probe(struct device *dev)
|
|
|
|
dev_set_drvdata(dev, sdkp);
|
|
|
|
- gd->major = sd_major((index & 0xf0) >> 4);
|
|
- gd->first_minor = ((index & 0xf) << 4) | (index & 0xfff00);
|
|
-
|
|
- gd->fops = &sd_fops;
|
|
- gd->private_data = &sdkp->driver;
|
|
- gd->queue = sdkp->device->request_queue;
|
|
-
|
|
- /* defaults, until the device tells us otherwise */
|
|
- sdp->sector_size = 512;
|
|
- sdkp->capacity = 0;
|
|
- sdkp->media_present = 1;
|
|
- sdkp->write_prot = 0;
|
|
- sdkp->cache_override = 0;
|
|
- sdkp->WCE = 0;
|
|
- sdkp->RCD = 0;
|
|
- sdkp->ATO = 0;
|
|
- sdkp->first_scan = 1;
|
|
- sdkp->max_medium_access_timeouts = SD_MAX_MEDIUM_TIMEOUTS;
|
|
-
|
|
- sd_revalidate_disk(gd);
|
|
-
|
|
- gd->flags = GENHD_FL_EXT_DEVT;
|
|
- if (sdp->removable) {
|
|
- gd->flags |= GENHD_FL_REMOVABLE;
|
|
- gd->events |= DISK_EVENT_MEDIA_CHANGE;
|
|
- gd->event_flags = DISK_EVENT_FLAG_POLL | DISK_EVENT_FLAG_UEVENT;
|
|
- }
|
|
-
|
|
- blk_pm_runtime_init(sdp->request_queue, dev);
|
|
- if (sdp->rpm_autosuspend) {
|
|
- pm_runtime_set_autosuspend_delay(dev,
|
|
- sdp->host->hostt->rpm_autosuspend_delay);
|
|
- }
|
|
- device_add_disk(dev, gd, NULL);
|
|
- if (sdkp->capacity)
|
|
- sd_dif_config_host(sdkp);
|
|
-
|
|
- sd_revalidate_disk(gd);
|
|
-
|
|
- if (sdkp->security) {
|
|
- sdkp->opal_dev = init_opal_dev(sdkp, &sd_sec_submit);
|
|
- if (sdkp->opal_dev)
|
|
- sd_printk(KERN_NOTICE, sdkp, "supports TCG Opal\n");
|
|
- }
|
|
-
|
|
- sd_printk(KERN_NOTICE, sdkp, "Attached SCSI %sdisk\n",
|
|
- sdp->removable ? "removable " : "");
|
|
- scsi_autopm_put_device(sdp);
|
|
+ sd_probe_part2(sdkp);
|
|
|
|
return 0;
|
|
|
|
--
|
|
2.31.1
|
|
|