Search Linux Wireless

Re: [PATCH] libertas: return errno from lbs_add_card()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux