From: Lee Duncan <lduncan@suse.com>
Date: Tue 26 Apr 2022 10:51:15 AM PDT
Subject: scsi: block: PM fix blk_post_runtime_resume() args
Patch-mainline: never, kABI fix
References: bsc#1198802
Commit 6e1fcab00a23f7fe9f4fe9704905a790efa1eeab, patch:
> patches.suse/scsi-block-pm-Always-set-request-queue-runtime-active-in-blk_post_runtime_resume.patch
Which removed the "err" argument from blk_post_runtime_resume(). To
make the kABI happy, add back the argument, even though we will ignore
it.
---
block/blk-pm.c | 5 ++++-
drivers/scsi/scsi_pm.c | 6 +++++-
include/linux/blk-pm.h | 2 +-
3 files changed, 10 insertions(+), 3 deletions(-)
--- a/block/blk-pm.c
+++ b/block/blk-pm.c
@@ -172,8 +172,11 @@ EXPORT_SYMBOL(blk_pre_runtime_resume);
*
* This function should be called near the end of the device's
* runtime_resume callback.
+ *
+ * For kABI-backwards compatability, we leave in the "errO argument,
+ * even though it's now unused.
*/
-void blk_post_runtime_resume(struct request_queue *q)
+void blk_post_runtime_resume(struct request_queue *q, int err_ignored __attribute__((unused)))
{
blk_set_runtime_active(q);
}
--- a/drivers/scsi/scsi_pm.c
+++ b/drivers/scsi/scsi_pm.c
@@ -262,7 +262,11 @@ static int sdev_runtime_resume(struct de
blk_pre_runtime_resume(sdev->request_queue);
if (pm && pm->runtime_resume)
err = pm->runtime_resume(dev);
- blk_post_runtime_resume(sdev->request_queue);
+ /*
+ * pass an "err" value to blk_post_runtime_resume(),
+ * even though it's now unused (for kABI)
+ */
+ blk_post_runtime_resume(sdev->request_queue, err);
return err;
}
--- a/include/linux/blk-pm.h
+++ b/include/linux/blk-pm.h
@@ -14,7 +14,7 @@ extern void blk_pm_runtime_init(struct r
extern int blk_pre_runtime_suspend(struct request_queue *q);
extern void blk_post_runtime_suspend(struct request_queue *q, int err);
extern void blk_pre_runtime_resume(struct request_queue *q);
-extern void blk_post_runtime_resume(struct request_queue *q);
+extern void blk_post_runtime_resume(struct request_queue *q, int err_ignored);
extern void blk_set_runtime_active(struct request_queue *q);
#else
static inline void blk_pm_runtime_init(struct request_queue *q,