From fb1d125f2e5b2c25a16320347065f2ecf99a0795 Mon Sep 17 00:00:00 2001
From: Oliver Neukum <oneukum@suse.com>
Date: Thu, 17 Nov 2022 13:23:57 +0100
Subject: [PATCH] usbip: stub_dev: remake locking for kABI
Patch-mainline: Never (kABI fixup)
References: git-fixes
use the global lock to preserve kABI
signed-off-by: Oliver Neukum <oneukum@suse.com>
---
drivers/usb/core/devices.c | 1 +
drivers/usb/usbip/stub_dev.c | 9 ++++-----
2 files changed, 5 insertions(+), 5 deletions(-)
--- a/drivers/usb/core/devices.c
+++ b/drivers/usb/core/devices.c
@@ -49,6 +49,7 @@
#include "usb.h"
DEFINE_MUTEX(suse_big_usbip_lock);
+EXPORT_SYMBOL(suse_big_usbip_lock);
/* Define ALLOW_SERIAL_NUMBER if you want to see the serial number of devices */
#define ALLOW_SERIAL_NUMBER
--- a/drivers/usb/usbip/stub_dev.c
+++ b/drivers/usb/usbip/stub_dev.c
@@ -63,7 +63,7 @@ static ssize_t usbip_sockfd_store(struct
dev_info(dev, "stub up\n");
- mutex_lock(&sdev->ud.sysfs_lock);
+ mutex_lock(&suse_big_usbip_lock);
spin_lock_irq(&sdev->ud.lock);
if (sdev->ud.status != SDEV_ST_AVAILABLE) {
@@ -113,7 +113,7 @@ static ssize_t usbip_sockfd_store(struct
wake_up_process(sdev->ud.tcp_rx);
wake_up_process(sdev->ud.tcp_tx);
- mutex_unlock(&sdev->ud.sysfs_lock);
+ mutex_unlock(&suse_big_usbip_lock);
} else {
dev_info(dev, "stub down\n");
@@ -125,7 +125,7 @@ static ssize_t usbip_sockfd_store(struct
spin_unlock_irq(&sdev->ud.lock);
usbip_event_add(&sdev->ud, SDEV_EVENT_DOWN);
- mutex_unlock(&sdev->ud.sysfs_lock);
+ mutex_unlock(&suse_big_usbip_lock);
}
return count;
@@ -135,7 +135,7 @@ sock_err:
err:
spin_unlock_irq(&sdev->ud.lock);
unlock_mutex:
- mutex_unlock(&sdev->ud.sysfs_lock);
+ mutex_unlock(&suse_big_usbip_lock);
return -EINVAL;
}
static DEVICE_ATTR_WO(usbip_sockfd);
@@ -301,7 +301,6 @@ static struct stub_device *stub_device_a
sdev->ud.side = USBIP_STUB;
sdev->ud.status = SDEV_ST_AVAILABLE;
spin_lock_init(&sdev->ud.lock);
- mutex_init(&sdev->ud.sysfs_lock);
sdev->ud.tcp_socket = NULL;
sdev->ud.sockfd = -1;