Hi Christian,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on staging/staging-testing]
[also build test WARNING on usb/usb-testing linus/master v5.7-rc5 next-20200514]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see
https://stackoverflow.com/a/37406982]
url:
https://github.com/0day-ci/linux/commits/Christian-Gromm/staging-most-usb...
base:
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
8a01032e02c8a0fb3e9f33791023b62dee73cc03
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 11.0.0 (
https://github.com/llvm/llvm-project
a52f10b5a382c040e7ad1ce933cda6c07a4b3a8d)
reproduce:
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>, old ones prefixed by <<):
> drivers/staging/most/usb/usb.c:1010:6: warning: variable
'ret' is used uninitialized whenever 'if' condition is true
[-Wsometimes-uninitialized]
if (!mdev->busy_urbs)
^~~~~~~~~~~~~~~~
drivers/staging/most/usb/usb.c:1092:9: note: uninitialized use occurs here
return ret;
^~~
drivers/staging/most/usb/usb.c:1010:2: note: remove the 'if' if its condition is
always false
if (!mdev->busy_urbs)
^~~~~~~~~~~~~~~~~~~~~
drivers/staging/most/usb/usb.c:1005:6: warning: variable 'ret' is used
uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (!mdev->ep_address)
^~~~~~~~~~~~~~~~~
drivers/staging/most/usb/usb.c:1092:9: note: uninitialized use occurs here
return ret;
^~~
drivers/staging/most/usb/usb.c:1005:2: note: remove the 'if' if its condition is
always false
if (!mdev->ep_address)
^~~~~~~~~~~~~~~~~~~~~~
drivers/staging/most/usb/usb.c:999:6: warning: variable 'ret' is used
uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (!mdev->cap)
^~~~~~~~~~
drivers/staging/most/usb/usb.c:1092:9: note: uninitialized use occurs here
return ret;
^~~
drivers/staging/most/usb/usb.c:999:2: note: remove the 'if' if its condition is
always false
if (!mdev->cap)
^~~~~~~~~~~~~~~
drivers/staging/most/usb/usb.c:995:6: warning: variable 'ret' is used
uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (!mdev->conf)
^~~~~~~~~~~
drivers/staging/most/usb/usb.c:1092:9: note: uninitialized use occurs here
return ret;
^~~
drivers/staging/most/usb/usb.c:995:2: note: remove the 'if' if its condition is
always false
if (!mdev->conf)
^~~~~~~~~~~~~~~~
drivers/staging/most/usb/usb.c:953:9: note: initialize the variable 'ret' to
silence this warning
int ret;
^
= 0
4 warnings generated.
vim +1010 drivers/staging/most/usb/usb.c
869d3acd488c28 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-28 923
723de0f9171eeb drivers/staging/most/usb/usb.c Christian Gromm 2020-01-23 924
static void release_mdev(struct device *dev)
723de0f9171eeb drivers/staging/most/usb/usb.c Christian Gromm 2020-01-23 925 {
723de0f9171eeb drivers/staging/most/usb/usb.c Christian Gromm 2020-01-23 926
struct most_dev *mdev = to_mdev_from_dev(dev);
723de0f9171eeb drivers/staging/most/usb/usb.c Christian Gromm 2020-01-23 927
723de0f9171eeb drivers/staging/most/usb/usb.c Christian Gromm 2020-01-23 928
kfree(mdev);
723de0f9171eeb drivers/staging/most/usb/usb.c Christian Gromm 2020-01-23 929 }
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 930
/**
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 931 *
hdm_probe - probe function of USB device driver
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 932 *
@interface: Interface of the attached USB device
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 933 *
@id: Pointer to the USB ID table.
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 934
*
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 935 *
This allocates and initializes the device instance, adds the new
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 936 *
entry to the internal list, scans the USB descriptors and registers
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 937 *
the interface with the core.
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 938 *
Additionally, the DCI objects are created and the hardware is sync'd.
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 939
*
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 940 *
Return 0 on success. In case of an error a negative number is returned.
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 941
*/
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 942
static int
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 943
hdm_probe(struct usb_interface *interface, const struct usb_device_id *id)
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 944 {
089612f183efb4 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2016-08-19 945
struct usb_host_interface *usb_iface_desc = interface->cur_altsetting;
089612f183efb4 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2016-08-19 946
struct usb_device *usb_dev = interface_to_usbdev(interface);
089612f183efb4 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2016-08-19 947
struct device *dev = &usb_dev->dev;
089612f183efb4 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2016-08-19 948
struct most_dev *mdev = kzalloc(sizeof(*mdev), GFP_KERNEL);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 949
unsigned int i;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 950
unsigned int num_endpoints;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 951
struct most_channel_capability *tmp_cap;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 952
struct usb_endpoint_descriptor *ep_desc;
7f704bf88cc1a9 drivers/staging/most/usb/usb.c Christian Gromm 2020-05-14 953
int ret;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 954
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 955
if (!mdev)
7f704bf88cc1a9 drivers/staging/most/usb/usb.c Christian Gromm 2020-05-14 956
return -ENOMEM;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 957
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 958
usb_set_intfdata(interface, mdev);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 959
num_endpoints = usb_iface_desc->desc.bNumEndpoints;
7f704bf88cc1a9 drivers/staging/most/usb/usb.c Christian Gromm 2020-05-14 960
if (num_endpoints > MAX_NUM_ENDPOINTS) {
7f704bf88cc1a9 drivers/staging/most/usb/usb.c Christian Gromm 2020-05-14 961
kfree(mdev);
7f704bf88cc1a9 drivers/staging/most/usb/usb.c Christian Gromm 2020-05-14 962
return -EINVAL;
7f704bf88cc1a9 drivers/staging/most/usb/usb.c Christian Gromm 2020-05-14 963
}
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 964
mutex_init(&mdev->io_mutex);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 965
INIT_WORK(&mdev->poll_work_obj, wq_netinfo);
e99e88a9d2b067 drivers/staging/most/hdm-usb/hdm_usb.c Kees Cook 2017-10-16 966
timer_setup(&mdev->link_stat_timer, link_stat_timer_handler, 0);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 967
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 968
mdev->usb_device = usb_dev;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 969
mdev->link_stat_timer.expires = jiffies + (2 * HZ);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 970
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 971
mdev->iface.mod = hdm_usb_fops.owner;
723de0f9171eeb drivers/staging/most/usb/usb.c Christian Gromm 2020-01-23 972
mdev->iface.dev = &mdev->dev;
69c90cf1b2faf5 drivers/staging/most/usb/usb.c Christian Gromm 2018-05-08 973
mdev->iface.driver_dev = &interface->dev;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 974
mdev->iface.interface = ITYPE_USB;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 975
mdev->iface.configure = hdm_configure_channel;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 976
mdev->iface.request_netinfo = hdm_request_netinfo;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 977
mdev->iface.enqueue = hdm_enqueue;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 978
mdev->iface.poison_channel = hdm_poison_channel;
3598cec585f8d5 drivers/staging/most/usb/usb.c Christian Gromm 2018-05-08 979
mdev->iface.dma_alloc = hdm_dma_alloc;
3598cec585f8d5 drivers/staging/most/usb/usb.c Christian Gromm 2018-05-08 980
mdev->iface.dma_free = hdm_dma_free;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 981
mdev->iface.description = mdev->description;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 982
mdev->iface.num_channels = num_endpoints;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 983
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 984
snprintf(mdev->description, sizeof(mdev->description),
5b082c2e07d851 drivers/staging/most/usb/usb.c Christian Gromm 2019-04-03 985
"%d-%s:%d.%d",
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 986
usb_dev->bus->busnum,
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 987
usb_dev->devpath,
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 988
usb_dev->config->desc.bConfigurationValue,
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 989
usb_iface_desc->desc.bInterfaceNumber);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 990
723de0f9171eeb drivers/staging/most/usb/usb.c Christian Gromm 2020-01-23 991
mdev->dev.init_name = mdev->description;
723de0f9171eeb drivers/staging/most/usb/usb.c Christian Gromm 2020-01-23 992
mdev->dev.parent = &interface->dev;
723de0f9171eeb drivers/staging/most/usb/usb.c Christian Gromm 2020-01-23 993
mdev->dev.release = release_mdev;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 994
mdev->conf = kcalloc(num_endpoints, sizeof(*mdev->conf), GFP_KERNEL);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 995
if (!mdev->conf)
bddd3c2546e9c4 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-21 996
goto err_free_mdev;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 997
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 998
mdev->cap = kcalloc(num_endpoints, sizeof(*mdev->cap), GFP_KERNEL);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 999
if (!mdev->cap)
bddd3c2546e9c4 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-21 1000
goto err_free_conf;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1001
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1002
mdev->iface.channel_vector = mdev->cap;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1003
mdev->ep_address =
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1004
kcalloc(num_endpoints, sizeof(*mdev->ep_address), GFP_KERNEL);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1005
if (!mdev->ep_address)
bddd3c2546e9c4 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-21 1006
goto err_free_cap;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1007
27e6245e35bc6c drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2016-09-19 1008
mdev->busy_urbs =
27e6245e35bc6c drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2016-09-19 1009
kcalloc(num_endpoints, sizeof(*mdev->busy_urbs), GFP_KERNEL);
27e6245e35bc6c drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2016-09-19 @1010
if (!mdev->busy_urbs)
bddd3c2546e9c4 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-21 1011
goto err_free_ep_address;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1012
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1013
tmp_cap = mdev->cap;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1014
for (i = 0; i < num_endpoints; i++) {
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1015
ep_desc = &usb_iface_desc->endpoint[i].desc;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1016
mdev->ep_address[i] = ep_desc->bEndpointAddress;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1017
mdev->padding_active[i] = false;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1018
mdev->is_channel_healthy[i] = true;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1019
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1020
snprintf(&mdev->suffix[i][0], MAX_SUFFIX_LEN, "ep%02x",
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1021
mdev->ep_address[i]);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1022
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1023
tmp_cap->name_suffix = &mdev->suffix[i][0];
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1024
tmp_cap->buffer_size_packet = MAX_BUF_SIZE;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1025
tmp_cap->buffer_size_streaming = MAX_BUF_SIZE;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1026
tmp_cap->num_buffers_packet = BUF_CHAIN_SIZE;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1027
tmp_cap->num_buffers_streaming = BUF_CHAIN_SIZE;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1028
tmp_cap->data_type = MOST_CH_CONTROL | MOST_CH_ASYNC |
0540609fe217c3 drivers/staging/most/hdm-usb/hdm_usb.c Andrey Shvetsov 2016-09-21 1029
MOST_CH_ISOC | MOST_CH_SYNC;
afd14cef0156bc drivers/staging/most/hdm-usb/hdm_usb.c Sandhya Bankar 2016-03-06 1030
if (usb_endpoint_dir_in(ep_desc))
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1031
tmp_cap->direction = MOST_CH_RX;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1032
else
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1033
tmp_cap->direction = MOST_CH_TX;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1034
tmp_cap++;
27e6245e35bc6c drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2016-09-19 1035
init_usb_anchor(&mdev->busy_urbs[i]);
88d1878bcaa438 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2016-09-19 1036
spin_lock_init(&mdev->channel_lock[i]);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1037
}
59ed0480b95032 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-30 1038
dev_notice(dev, "claimed gadget: Vendor=%4.4x ProdID=%4.4x Bus=%02x
Device=%02x\n",
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1039
le16_to_cpu(usb_dev->descriptor.idVendor),
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1040
le16_to_cpu(usb_dev->descriptor.idProduct),
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1041
usb_dev->bus->busnum,
59ed0480b95032 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-30 1042
usb_dev->devnum);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1043
59ed0480b95032 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-30 1044
dev_notice(dev, "device path: /sys/bus/usb/devices/%d-%s:%d.%d\n",
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1045
usb_dev->bus->busnum,
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1046
usb_dev->devpath,
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1047
usb_dev->config->desc.bConfigurationValue,
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1048
usb_iface_desc->desc.bInterfaceNumber);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1049
4d5f022f3a664e drivers/staging/most/usb/usb.c Christian Gromm 2017-11-21 1050
ret = most_register_interface(&mdev->iface);
4d5f022f3a664e drivers/staging/most/usb/usb.c Christian Gromm 2017-11-21 1051
if (ret)
bddd3c2546e9c4 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-21 1052
goto err_free_busy_urbs;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1053
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1054
mutex_lock(&mdev->io_mutex);
654f7ec4b3b8ac drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2016-08-19 1055
if (le16_to_cpu(usb_dev->descriptor.idProduct) == USB_DEV_ID_OS81118 ||
5bf9bd8d19834f drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2016-08-19 1056
le16_to_cpu(usb_dev->descriptor.idProduct) == USB_DEV_ID_OS81119 ||
5bf9bd8d19834f drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2016-08-19 1057
le16_to_cpu(usb_dev->descriptor.idProduct) == USB_DEV_ID_OS81210) {
4d5f022f3a664e drivers/staging/most/usb/usb.c Christian Gromm 2017-11-21 1058
mdev->dci = kzalloc(sizeof(*mdev->dci), GFP_KERNEL);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1059
if (!mdev->dci) {
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1060
mutex_unlock(&mdev->io_mutex);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1061
most_deregister_interface(&mdev->iface);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1062
ret = -ENOMEM;
bddd3c2546e9c4 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-21 1063
goto err_free_busy_urbs;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1064
}
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1065
4d5f022f3a664e drivers/staging/most/usb/usb.c Christian Gromm 2017-11-21 1066
mdev->dci->dev.init_name = "dci";
723de0f9171eeb drivers/staging/most/usb/usb.c Christian Gromm 2020-01-23 1067
mdev->dci->dev.parent = get_device(mdev->iface.dev);
4d5f022f3a664e drivers/staging/most/usb/usb.c Christian Gromm 2017-11-21 1068
mdev->dci->dev.groups = dci_attr_groups;
869d3acd488c28 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-28 1069
mdev->dci->dev.release = release_dci;
4d5f022f3a664e drivers/staging/most/usb/usb.c Christian Gromm 2017-11-21 1070
if (device_register(&mdev->dci->dev)) {
4d5f022f3a664e drivers/staging/most/usb/usb.c Christian Gromm 2017-11-21 1071
mutex_unlock(&mdev->io_mutex);
4d5f022f3a664e drivers/staging/most/usb/usb.c Christian Gromm 2017-11-21 1072
most_deregister_interface(&mdev->iface);
4d5f022f3a664e drivers/staging/most/usb/usb.c Christian Gromm 2017-11-21 1073
ret = -ENOMEM;
bddd3c2546e9c4 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-21 1074
goto err_free_dci;
4d5f022f3a664e drivers/staging/most/usb/usb.c Christian Gromm 2017-11-21 1075
}
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1076
mdev->dci->usb_device = mdev->usb_device;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1077
}
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1078
mutex_unlock(&mdev->io_mutex);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1079
return 0;
bddd3c2546e9c4 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-21 1080
err_free_dci:
723de0f9171eeb drivers/staging/most/usb/usb.c Christian Gromm 2020-01-23 1081
put_device(&mdev->dci->dev);
bddd3c2546e9c4 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-21 1082
err_free_busy_urbs:
27e6245e35bc6c drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2016-09-19 1083
kfree(mdev->busy_urbs);
bddd3c2546e9c4 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-21 1084
err_free_ep_address:
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1085
kfree(mdev->ep_address);
bddd3c2546e9c4 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-21 1086
err_free_cap:
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1087
kfree(mdev->cap);
bddd3c2546e9c4 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-21 1088
err_free_conf:
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1089
kfree(mdev->conf);
bddd3c2546e9c4 drivers/staging/most/usb/usb.c Christian Gromm 2018-09-21 1090
err_free_mdev:
723de0f9171eeb drivers/staging/most/usb/usb.c Christian Gromm 2020-01-23 1091
put_device(&mdev->dev);
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1092
return ret;
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1093 }
a4198cdf0c3460 drivers/staging/most/hdm-usb/hdm_usb.c Christian Gromm 2015-07-24 1094
:::::: The code at line 1010 was first introduced by commit
:::::: 27e6245e35bc6c20c2933d7d8afa562623be1ef5 staging: most: hdm-usb: remove proprietary
urb anchoring
:::::: TO: Christian Gromm <christian.gromm(a)microchip.com>
:::::: CC: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org