From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org
Subject: [sashal-linux-stable:queue-4.9 26/29] drivers/usb/usbip/vudc_sysfs.c:238 store_sockfd() warn: inconsistent returns '&udc->ud.sysfs_lock'.
Date: Wed, 28 Apr 2021 13:50:01 +0300 [thread overview]
Message-ID: <20210428105001.GU1981@kadam> (raw)
[-- Attachment #1: Type: text/plain, Size: 10499 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-4.9
head: 7edb2da8d62438a92699cb11688ad9f372fc32fc
commit: 117246f8e1e52f36549f8e420418f4673d4ddca2 [26/29] usbip: vudc synchronize sysfs code paths
config: arc-randconfig-m031-20210425 (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/usb/usbip/vudc_sysfs.c:238 store_sockfd() warn: inconsistent returns '&udc->ud.sysfs_lock'.
vim +238 drivers/usb/usbip/vudc_sysfs.c
fe9e15a30be666 Shuah Khan 2021-03-07 106 static ssize_t store_sockfd(struct device *dev,
fe9e15a30be666 Shuah Khan 2021-03-07 107 struct device_attribute *attr,
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 108 const char *in, size_t count)
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 109 {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 110 struct vudc *udc = (struct vudc *) dev_get_drvdata(dev);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 111 int rv;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 112 int sockfd = 0;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 113 int err;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 114 struct socket *socket;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 115 unsigned long flags;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 116 int ret;
fe9e15a30be666 Shuah Khan 2021-03-07 117 struct task_struct *tcp_rx = NULL;
fe9e15a30be666 Shuah Khan 2021-03-07 118 struct task_struct *tcp_tx = NULL;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 119
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 120 rv = kstrtoint(in, 0, &sockfd);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 121 if (rv != 0)
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 122 return -EINVAL;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 123
b7661e9af851da Colin Ian King 2018-02-22 124 if (!udc) {
b7661e9af851da Colin Ian King 2018-02-22 125 dev_err(dev, "no device");
b7661e9af851da Colin Ian King 2018-02-22 126 return -ENODEV;
b7661e9af851da Colin Ian King 2018-02-22 127 }
117246f8e1e52f Shuah Khan 2021-04-16 128 mutex_lock(&udc->ud.sysfs_lock);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 129 spin_lock_irqsave(&udc->lock, flags);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 130 /* Don't export what we don't have */
b7661e9af851da Colin Ian King 2018-02-22 131 if (!udc->driver || !udc->pullup) {
b7661e9af851da Colin Ian King 2018-02-22 132 dev_err(dev, "gadget not bound");
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 133 ret = -ENODEV;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 134 goto unlock;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 135 }
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 136
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 137 if (sockfd != -1) {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 138 if (udc->connected) {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 139 dev_err(dev, "Device already connected");
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 140 ret = -EBUSY;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 141 goto unlock;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 142 }
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 143
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 144 spin_lock_irq(&udc->ud.lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 145
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 146 if (udc->ud.status != SDEV_ST_AVAILABLE) {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 147 ret = -EINVAL;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 148 goto unlock_ud;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 149 }
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 150
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 151 socket = sockfd_lookup(sockfd, &err);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 152 if (!socket) {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 153 dev_err(dev, "failed to lookup sock");
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 154 ret = -EINVAL;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 155 goto unlock_ud;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 156 }
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 157
d5708a353836ac Shuah Khan 2021-03-07 158 if (socket->type != SOCK_STREAM) {
d5708a353836ac Shuah Khan 2021-03-07 159 dev_err(dev, "Expecting SOCK_STREAM - found %d",
d5708a353836ac Shuah Khan 2021-03-07 160 socket->type);
d5708a353836ac Shuah Khan 2021-03-07 161 ret = -EINVAL;
d5708a353836ac Shuah Khan 2021-03-07 162 goto sock_err;
d5708a353836ac Shuah Khan 2021-03-07 163 }
d5708a353836ac Shuah Khan 2021-03-07 164
fe9e15a30be666 Shuah Khan 2021-03-07 165 /* unlock and create threads and get tasks */
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 166 spin_unlock_irq(&udc->ud.lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 167 spin_unlock_irqrestore(&udc->lock, flags);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 168
fe9e15a30be666 Shuah Khan 2021-03-07 169 tcp_rx = kthread_create(&v_rx_loop, &udc->ud, "vudc_rx");
fe9e15a30be666 Shuah Khan 2021-03-07 170 if (IS_ERR(tcp_rx)) {
fe9e15a30be666 Shuah Khan 2021-03-07 171 sockfd_put(socket);
fe9e15a30be666 Shuah Khan 2021-03-07 172 return -EINVAL;
mutex_unlock(&udc->ud.sysfs_lock);
fe9e15a30be666 Shuah Khan 2021-03-07 173 }
fe9e15a30be666 Shuah Khan 2021-03-07 174 tcp_tx = kthread_create(&v_tx_loop, &udc->ud, "vudc_tx");
fe9e15a30be666 Shuah Khan 2021-03-07 175 if (IS_ERR(tcp_tx)) {
fe9e15a30be666 Shuah Khan 2021-03-07 176 kthread_stop(tcp_rx);
fe9e15a30be666 Shuah Khan 2021-03-07 177 sockfd_put(socket);
fe9e15a30be666 Shuah Khan 2021-03-07 178 return -EINVAL;
mutex_unlock(&udc->ud.sysfs_lock);
fe9e15a30be666 Shuah Khan 2021-03-07 179 }
fe9e15a30be666 Shuah Khan 2021-03-07 180
fe9e15a30be666 Shuah Khan 2021-03-07 181 /* get task structs now */
fe9e15a30be666 Shuah Khan 2021-03-07 182 get_task_struct(tcp_rx);
fe9e15a30be666 Shuah Khan 2021-03-07 183 get_task_struct(tcp_tx);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 184
fe9e15a30be666 Shuah Khan 2021-03-07 185 /* lock and update udc->ud state */
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 186 spin_lock_irqsave(&udc->lock, flags);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 187 spin_lock_irq(&udc->ud.lock);
fe9e15a30be666 Shuah Khan 2021-03-07 188
fe9e15a30be666 Shuah Khan 2021-03-07 189 udc->ud.tcp_socket = socket;
fe9e15a30be666 Shuah Khan 2021-03-07 190 udc->ud.tcp_rx = tcp_rx;
e957ba13608a1a Colin Ian King 2021-03-11 191 udc->ud.tcp_tx = tcp_tx;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 192 udc->ud.status = SDEV_ST_USED;
fe9e15a30be666 Shuah Khan 2021-03-07 193
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 194 spin_unlock_irq(&udc->ud.lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 195
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 196 do_gettimeofday(&udc->start_time);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 197 v_start_timer(udc);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 198 udc->connected = 1;
fe9e15a30be666 Shuah Khan 2021-03-07 199
fe9e15a30be666 Shuah Khan 2021-03-07 200 spin_unlock_irqrestore(&udc->lock, flags);
fe9e15a30be666 Shuah Khan 2021-03-07 201
fe9e15a30be666 Shuah Khan 2021-03-07 202 wake_up_process(udc->ud.tcp_rx);
fe9e15a30be666 Shuah Khan 2021-03-07 203 wake_up_process(udc->ud.tcp_tx);
117246f8e1e52f Shuah Khan 2021-04-16 204
117246f8e1e52f Shuah Khan 2021-04-16 205 mutex_unlock(&udc->ud.sysfs_lock);
fe9e15a30be666 Shuah Khan 2021-03-07 206 return count;
fe9e15a30be666 Shuah Khan 2021-03-07 207
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 208 } else {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 209 if (!udc->connected) {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 210 dev_err(dev, "Device not connected");
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 211 ret = -EINVAL;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 212 goto unlock;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 213 }
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 214
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 215 spin_lock_irq(&udc->ud.lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 216 if (udc->ud.status != SDEV_ST_USED) {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 217 ret = -EINVAL;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 218 goto unlock_ud;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 219 }
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 220 spin_unlock_irq(&udc->ud.lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 221
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 222 usbip_event_add(&udc->ud, VUDC_EVENT_DOWN);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 223 }
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 224
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 225 spin_unlock_irqrestore(&udc->lock, flags);
117246f8e1e52f Shuah Khan 2021-04-16 226 mutex_unlock(&udc->ud.sysfs_lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 227
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 228 return count;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 229
d5708a353836ac Shuah Khan 2021-03-07 230 sock_err:
d5708a353836ac Shuah Khan 2021-03-07 231 sockfd_put(socket);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 232 unlock_ud:
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 233 spin_unlock_irq(&udc->ud.lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 234 unlock:
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 235 spin_unlock_irqrestore(&udc->lock, flags);
117246f8e1e52f Shuah Khan 2021-04-16 236 mutex_unlock(&udc->ud.sysfs_lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 237
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 @238 return ret;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 239 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 20828 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: [sashal-linux-stable:queue-4.9 26/29] drivers/usb/usbip/vudc_sysfs.c:238 store_sockfd() warn: inconsistent returns '&udc->ud.sysfs_lock'.
Date: Wed, 28 Apr 2021 13:50:01 +0300 [thread overview]
Message-ID: <20210428105001.GU1981@kadam> (raw)
[-- Attachment #1: Type: text/plain, Size: 10499 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git queue-4.9
head: 7edb2da8d62438a92699cb11688ad9f372fc32fc
commit: 117246f8e1e52f36549f8e420418f4673d4ddca2 [26/29] usbip: vudc synchronize sysfs code paths
config: arc-randconfig-m031-20210425 (attached as .config)
compiler: arceb-elf-gcc (GCC) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/usb/usbip/vudc_sysfs.c:238 store_sockfd() warn: inconsistent returns '&udc->ud.sysfs_lock'.
vim +238 drivers/usb/usbip/vudc_sysfs.c
fe9e15a30be666 Shuah Khan 2021-03-07 106 static ssize_t store_sockfd(struct device *dev,
fe9e15a30be666 Shuah Khan 2021-03-07 107 struct device_attribute *attr,
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 108 const char *in, size_t count)
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 109 {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 110 struct vudc *udc = (struct vudc *) dev_get_drvdata(dev);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 111 int rv;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 112 int sockfd = 0;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 113 int err;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 114 struct socket *socket;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 115 unsigned long flags;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 116 int ret;
fe9e15a30be666 Shuah Khan 2021-03-07 117 struct task_struct *tcp_rx = NULL;
fe9e15a30be666 Shuah Khan 2021-03-07 118 struct task_struct *tcp_tx = NULL;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 119
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 120 rv = kstrtoint(in, 0, &sockfd);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 121 if (rv != 0)
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 122 return -EINVAL;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 123
b7661e9af851da Colin Ian King 2018-02-22 124 if (!udc) {
b7661e9af851da Colin Ian King 2018-02-22 125 dev_err(dev, "no device");
b7661e9af851da Colin Ian King 2018-02-22 126 return -ENODEV;
b7661e9af851da Colin Ian King 2018-02-22 127 }
117246f8e1e52f Shuah Khan 2021-04-16 128 mutex_lock(&udc->ud.sysfs_lock);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 129 spin_lock_irqsave(&udc->lock, flags);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 130 /* Don't export what we don't have */
b7661e9af851da Colin Ian King 2018-02-22 131 if (!udc->driver || !udc->pullup) {
b7661e9af851da Colin Ian King 2018-02-22 132 dev_err(dev, "gadget not bound");
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 133 ret = -ENODEV;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 134 goto unlock;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 135 }
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 136
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 137 if (sockfd != -1) {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 138 if (udc->connected) {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 139 dev_err(dev, "Device already connected");
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 140 ret = -EBUSY;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 141 goto unlock;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 142 }
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 143
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 144 spin_lock_irq(&udc->ud.lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 145
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 146 if (udc->ud.status != SDEV_ST_AVAILABLE) {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 147 ret = -EINVAL;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 148 goto unlock_ud;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 149 }
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 150
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 151 socket = sockfd_lookup(sockfd, &err);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 152 if (!socket) {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 153 dev_err(dev, "failed to lookup sock");
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 154 ret = -EINVAL;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 155 goto unlock_ud;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 156 }
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 157
d5708a353836ac Shuah Khan 2021-03-07 158 if (socket->type != SOCK_STREAM) {
d5708a353836ac Shuah Khan 2021-03-07 159 dev_err(dev, "Expecting SOCK_STREAM - found %d",
d5708a353836ac Shuah Khan 2021-03-07 160 socket->type);
d5708a353836ac Shuah Khan 2021-03-07 161 ret = -EINVAL;
d5708a353836ac Shuah Khan 2021-03-07 162 goto sock_err;
d5708a353836ac Shuah Khan 2021-03-07 163 }
d5708a353836ac Shuah Khan 2021-03-07 164
fe9e15a30be666 Shuah Khan 2021-03-07 165 /* unlock and create threads and get tasks */
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 166 spin_unlock_irq(&udc->ud.lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 167 spin_unlock_irqrestore(&udc->lock, flags);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 168
fe9e15a30be666 Shuah Khan 2021-03-07 169 tcp_rx = kthread_create(&v_rx_loop, &udc->ud, "vudc_rx");
fe9e15a30be666 Shuah Khan 2021-03-07 170 if (IS_ERR(tcp_rx)) {
fe9e15a30be666 Shuah Khan 2021-03-07 171 sockfd_put(socket);
fe9e15a30be666 Shuah Khan 2021-03-07 172 return -EINVAL;
mutex_unlock(&udc->ud.sysfs_lock);
fe9e15a30be666 Shuah Khan 2021-03-07 173 }
fe9e15a30be666 Shuah Khan 2021-03-07 174 tcp_tx = kthread_create(&v_tx_loop, &udc->ud, "vudc_tx");
fe9e15a30be666 Shuah Khan 2021-03-07 175 if (IS_ERR(tcp_tx)) {
fe9e15a30be666 Shuah Khan 2021-03-07 176 kthread_stop(tcp_rx);
fe9e15a30be666 Shuah Khan 2021-03-07 177 sockfd_put(socket);
fe9e15a30be666 Shuah Khan 2021-03-07 178 return -EINVAL;
mutex_unlock(&udc->ud.sysfs_lock);
fe9e15a30be666 Shuah Khan 2021-03-07 179 }
fe9e15a30be666 Shuah Khan 2021-03-07 180
fe9e15a30be666 Shuah Khan 2021-03-07 181 /* get task structs now */
fe9e15a30be666 Shuah Khan 2021-03-07 182 get_task_struct(tcp_rx);
fe9e15a30be666 Shuah Khan 2021-03-07 183 get_task_struct(tcp_tx);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 184
fe9e15a30be666 Shuah Khan 2021-03-07 185 /* lock and update udc->ud state */
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 186 spin_lock_irqsave(&udc->lock, flags);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 187 spin_lock_irq(&udc->ud.lock);
fe9e15a30be666 Shuah Khan 2021-03-07 188
fe9e15a30be666 Shuah Khan 2021-03-07 189 udc->ud.tcp_socket = socket;
fe9e15a30be666 Shuah Khan 2021-03-07 190 udc->ud.tcp_rx = tcp_rx;
e957ba13608a1a Colin Ian King 2021-03-11 191 udc->ud.tcp_tx = tcp_tx;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 192 udc->ud.status = SDEV_ST_USED;
fe9e15a30be666 Shuah Khan 2021-03-07 193
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 194 spin_unlock_irq(&udc->ud.lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 195
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 196 do_gettimeofday(&udc->start_time);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 197 v_start_timer(udc);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 198 udc->connected = 1;
fe9e15a30be666 Shuah Khan 2021-03-07 199
fe9e15a30be666 Shuah Khan 2021-03-07 200 spin_unlock_irqrestore(&udc->lock, flags);
fe9e15a30be666 Shuah Khan 2021-03-07 201
fe9e15a30be666 Shuah Khan 2021-03-07 202 wake_up_process(udc->ud.tcp_rx);
fe9e15a30be666 Shuah Khan 2021-03-07 203 wake_up_process(udc->ud.tcp_tx);
117246f8e1e52f Shuah Khan 2021-04-16 204
117246f8e1e52f Shuah Khan 2021-04-16 205 mutex_unlock(&udc->ud.sysfs_lock);
fe9e15a30be666 Shuah Khan 2021-03-07 206 return count;
fe9e15a30be666 Shuah Khan 2021-03-07 207
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 208 } else {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 209 if (!udc->connected) {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 210 dev_err(dev, "Device not connected");
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 211 ret = -EINVAL;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 212 goto unlock;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 213 }
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 214
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 215 spin_lock_irq(&udc->ud.lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 216 if (udc->ud.status != SDEV_ST_USED) {
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 217 ret = -EINVAL;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 218 goto unlock_ud;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 219 }
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 220 spin_unlock_irq(&udc->ud.lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 221
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 222 usbip_event_add(&udc->ud, VUDC_EVENT_DOWN);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 223 }
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 224
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 225 spin_unlock_irqrestore(&udc->lock, flags);
117246f8e1e52f Shuah Khan 2021-04-16 226 mutex_unlock(&udc->ud.sysfs_lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 227
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 228 return count;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 229
d5708a353836ac Shuah Khan 2021-03-07 230 sock_err:
d5708a353836ac Shuah Khan 2021-03-07 231 sockfd_put(socket);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 232 unlock_ud:
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 233 spin_unlock_irq(&udc->ud.lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 234 unlock:
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 235 spin_unlock_irqrestore(&udc->lock, flags);
117246f8e1e52f Shuah Khan 2021-04-16 236 mutex_unlock(&udc->ud.sysfs_lock);
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 237
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 @238 return ret;
ea6873a45a22f3 Igor Kotrasinski 2016-03-08 239 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 20828 bytes --]
next reply other threads:[~2021-04-28 10:50 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-28 10:50 Dan Carpenter [this message]
2021-04-28 10:50 ` [sashal-linux-stable:queue-4.9 26/29] drivers/usb/usbip/vudc_sysfs.c:238 store_sockfd() warn: inconsistent returns '&udc->ud.sysfs_lock' Dan Carpenter
-- strict thread matches above, loose matches on Subject: below --
2021-04-25 19:07 kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210428105001.GU1981@kadam \
--to=dan.carpenter@oracle.com \
--cc=kbuild@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.