Hi Lubomir,

I love your patch! Yet something to improve:

[auto build test ERROR on wireless-drivers-next/master]
[also build test ERROR on v4.19-rc5 next-20180924]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Lubomir-Rintel/libertas-return-errno-from-lbs_add_card/20180925-105034
base:   
https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git 
master
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.2.0 make.cross ARCH=sh 

All errors (new ones prefixed by >>):

   drivers/net//wireless/marvell/libertas/if_usb.c: In function 'if_usb_probe':
>> drivers/net//wireless/marvell/libertas/if_usb.c:259:3: error: 'ret' 
>> undeclared (first use in this function); did you mean 'net'?
      ret = PTR_ERR(priv);
      ^~~
      net
   drivers/net//wireless/marvell/libertas/if_usb.c:259:3: note: each undeclared 
identifier is reported only once for each function it appears in
--
   drivers/net//wireless/marvell/libertas/if_spi.c: In function 'if_spi_probe':
>> drivers/net//wireless/marvell/libertas/if_spi.c:1150:3: error: 'ret' 
>> undeclared (first use in this function); did you mean 'net'?
      ret = PTR_ERR(priv);
      ^~~
      net
   drivers/net//wireless/marvell/libertas/if_spi.c:1150:3: note: each 
undeclared identifier is reported only once for each function it appears in

vim +259 drivers/net//wireless/marvell/libertas/if_usb.c

   184  
   185  /**
   186   * if_usb_probe - sets the configuration values
   187   * @intf:       &usb_interface pointer
   188   * @id: pointer to usb_device_id
   189   * returns:     0 on success, error code on failure
   190   */
   191  static int if_usb_probe(struct usb_interface *intf,
   192                          const struct usb_device_id *id)
   193  {
   194          struct usb_device *udev;
   195          struct usb_host_interface *iface_desc;
   196          struct usb_endpoint_descriptor *endpoint;
   197          struct lbs_private *priv;
   198          struct if_usb_card *cardp;
   199          int r = -ENOMEM;
   200          int i;
   201  
   202          udev = interface_to_usbdev(intf);
   203  
   204          cardp = kzalloc(sizeof(struct if_usb_card), GFP_KERNEL);
   205          if (!cardp)
   206                  goto error;
   207  
   208          timer_setup(&cardp->fw_timeout, if_usb_fw_timeo, 0);
   209          init_waitqueue_head(&cardp->fw_wq);
   210  
   211          cardp->udev = udev;
   212          cardp->model = (uint32_t) id->driver_info;
   213          iface_desc = intf->cur_altsetting;
   214  
   215          lbs_deb_usbd(&udev->dev, "bcdUSB = 0x%X bDeviceClass = 0x%X"
   216                       " bDeviceSubClass = 0x%X, bDeviceProtocol = 
0x%X\n",
   217                       le16_to_cpu(udev->descriptor.bcdUSB),
   218                       udev->descriptor.bDeviceClass,
   219                       udev->descriptor.bDeviceSubClass,
   220                       udev->descriptor.bDeviceProtocol);
   221  
   222          for (i = 0; i < iface_desc->desc.bNumEndpoints; ++i) {
   223                  endpoint = &iface_desc->endpoint[i].desc;
   224                  if (usb_endpoint_is_bulk_in(endpoint)) {
   225                          cardp->ep_in_size = 
le16_to_cpu(endpoint->wMaxPacketSize);
   226                          cardp->ep_in = usb_endpoint_num(endpoint);
   227  
   228                          lbs_deb_usbd(&udev->dev, "in_endpoint = %d\n", 
cardp->ep_in);
   229                          lbs_deb_usbd(&udev->dev, "Bulk in size is 
%d\n", cardp->ep_in_size);
   230  
   231                  } else if (usb_endpoint_is_bulk_out(endpoint)) {
   232                          cardp->ep_out_size = 
le16_to_cpu(endpoint->wMaxPacketSize);
   233                          cardp->ep_out = usb_endpoint_num(endpoint);
   234  
   235                          lbs_deb_usbd(&udev->dev, "out_endpoint = %d\n", 
cardp->ep_out);
   236                          lbs_deb_usbd(&udev->dev, "Bulk out size is 
%d\n", cardp->ep_out_size);
   237                  }
   238          }
   239          if (!cardp->ep_out_size || !cardp->ep_in_size) {
   240                  lbs_deb_usbd(&udev->dev, "Endpoints not found\n");
   241                  goto dealloc;
   242          }
   243          if (!(cardp->rx_urb = usb_alloc_urb(0, GFP_KERNEL))) {
   244                  lbs_deb_usbd(&udev->dev, "Rx URB allocation failed\n");
   245                  goto dealloc;
   246          }
   247          if (!(cardp->tx_urb = usb_alloc_urb(0, GFP_KERNEL))) {
   248                  lbs_deb_usbd(&udev->dev, "Tx URB allocation failed\n");
   249                  goto dealloc;
   250          }
   251          cardp->ep_out_buf = kmalloc(MRVDRV_ETH_TX_PACKET_BUFFER_SIZE, 
GFP_KERNEL);
   252          if (!cardp->ep_out_buf) {
   253                  lbs_deb_usbd(&udev->dev, "Could not allocate buffer\n");
   254                  goto dealloc;
   255          }
   256  
   257          priv = lbs_add_card(cardp, &intf->dev);
   258          if (IS_ERR(priv)) {
 > 259                  ret = PTR_ERR(priv);
   260                  goto err_add_card;
   261          }
   262  
   263          cardp->priv = priv;
   264  
   265          priv->hw_host_to_card = if_usb_host_to_card;
   266          priv->enter_deep_sleep = NULL;
   267          priv->exit_deep_sleep = NULL;
   268          priv->reset_deep_sleep_wakeup = NULL;
   269          priv->is_polling = false;
   270  #ifdef CONFIG_OLPC
   271          if (machine_is_olpc())
   272                  priv->reset_card = if_usb_reset_olpc_card;
   273  #endif
   274  
   275          cardp->boot2_version = udev->descriptor.bcdDevice;
   276  
   277          usb_get_dev(udev);
   278          usb_set_intfdata(intf, cardp);
   279  
   280          r = lbs_get_firmware_async(priv, &udev->dev, cardp->model,
   281                                     fw_table, if_usb_prog_firmware);
   282          if (r)
   283                  goto err_get_fw;
   284  
   285          return 0;
   286  
   287  err_get_fw:
   288          lbs_remove_card(priv);
   289  err_add_card:
   290          if_usb_reset_device(cardp);
   291  dealloc:
   292          if_usb_free(cardp);
   293  
   294  error:
   295          return r;
   296  }
   297  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to