Re: [REGRESSION] 6.6.141 s390x build failure in s390/cio due to missing driver_override infrastructure
Natanael Copa <[email protected]>
| Newsgroups | dev.linux.lists.regressions,org.kernel.vger.linux-kernel,org.kernel.vger.linux-s390,org.kernel.vger.stable |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 26 May 2026 07:35:06 -0400 Sasha Levin <[email protected]> wrote: > > v6.6.141 fails to build on s390x with > > > > drivers/s390/cio/css.c: error: implicit declaration of function > > 'device_match_driver_override' > > drivers/s390/cio/css.c: error: 'struct bus_type' has no member named > > 'driver_override' > > > > The s390/cio change (c4295487124f, upstream ac4d8bb6e2e1) was queued > > without its driver-core prerequisite cb3d1049f4ea ("driver core: > > generalize driver_override in struct device"). > > > > Could you backport cb3d1049f4ea to 6.6.y, or revert c4295487124f? > > Thanks for the report and the analysis. > > The driver-core prerequisite (cb3d1049f4ea) is already queued for > 6.6.y - The companion bdddb54c533f ("driver core: platform: use generic > driver_override infrastructure") is queued too. Once 6.6.142 ships the build > error should resolve. > > Newer LTS branches (6.12/6.18/7.0) already have the prerequisite as > an ancestor, so only 6.6.y was affected. FYI. We also needed this for the build to pass: diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c index 93307ca75c10..57cbba03beb8 100644 --- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c @@ -1322,7 +1322,7 @@ static int purge_fn(struct subchannel *sch, void *data) { struct ccw_device *cdev; - spin_lock_irq(sch->lock); + spin_lock_irq(&sch->lock); if (sch->st != SUBCHANNEL_TYPE_IO || !sch->schib.pmcw.dnv) goto unlock; @@ -1345,7 +1345,7 @@ static int purge_fn(struct subchannel *sch, void *data) sch->schib.pmcw.dev, cdev ? "" : " (no cdev)"); unlock: - spin_unlock_irq(sch->lock); + spin_unlock_irq(&sch->lock); /* Abort loop in case of pending signal. */ if (signal_pending(current)) return -EINTR; -nc