All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ondrej Zary <linux@rainbow-software.org>
To: Greg KH <greg@kroah.com>
Cc: Simon Arlott <simon@fire.lp0.eu>,
	David Brownell <dbrownell@users.sourceforge.net>,
	netdev@vger.kernel.org,
	Kernel development list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] cxacru: ignore cx82310_eth devices
Date: Sun, 5 Sep 2010 19:01:11 +0200	[thread overview]
Message-ID: <201009051901.13851.linux@rainbow-software.org> (raw)
In-Reply-To: <20100905040352.GA18538@kroah.com>

On Sunday 05 September 2010 06:03:52 Greg KH wrote:
> On Sat, Sep 04, 2010 at 05:30:20PM +0100, Simon Arlott wrote:
> > Ignore ADSL routers, which can have the same vendor and product IDs
> > as ADSL modems but should be handled by the cx82310_eth driver.
> >
> > This intentionally ignores device IDs that aren't currently handled
> > by cx82310_eth. There may be other device IDs that perhaps shouldn't
> > be claimed by cxacru.
> >
> > Signed-off-by: Ondrej Zary <linux@rainbow-software.org>
> > [SA: Moved to cxacru_usb_probe, message level lowered to info]
> > Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
> > ---
> >  drivers/usb/atm/cxacru.c |   18 ++++++++++++++++--
> >  1 files changed, 16 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c
> > index 593fc5e..96fa736 100644
> > --- a/drivers/usb/atm/cxacru.c
> > +++ b/drivers/usb/atm/cxacru.c
> > @@ -1324,8 +1324,22 @@ static struct usbatm_driver cxacru_driver = {
> >  	.tx_padding	= 11,
> >  };
> >
> > -static int cxacru_usb_probe(struct usb_interface *intf, const struct
> > usb_device_id *id) -{
> > +static int cxacru_usb_probe(struct usb_interface *intf,
> > +		const struct usb_device_id *id) {
> > +	struct usb_device *usb_dev = interface_to_usbdev(intf);
> > +	char buf[15];
> > +
> > +	/* avoid ADSL routers (cx82310_eth)
> > +	 * abort if bDeviceClass is 0xff and iProduct is "USB NET CARD" */
> > +	if (usb_dev->descriptor.bDeviceClass == 0xff
>
> vendor class?  We have a macro for that?
>
> > +			&& usb_dev->descriptor.iProduct
>
> Almost everyone has a iProduct, right?  Why even test for that?
>
> > +			&& usb_string(usb_dev,
> > +				usb_dev->descriptor.iProduct, buf, sizeof(buf))
>
> usb_string() should handle a 0 string, right?
>
> > +			&& !strcmp(buf, "USB NET CARD")) {
>
> Just to make it a bit easier to follow, how about you do the
> usb_string() call in the if statment, and then compare the string and
>
> then, if that matches you do:
> > +		dev_info(&intf->dev, "ignoring cx82310_eth device\n");
> > +		return -ENODEV;

Does it look that much better?:

	if (usb_dev->descriptor.bDeviceClass == USB_CLASS_VENDOR_SPEC
			&& usb_string(usb_dev, usb_dev->descriptor.iProduct,
				buf, sizeof(buf)) > 0)
		if (!strcmp(buf, "USB NET CARD")) {
			dev_info(&intf->dev, "ignoring cx82310_eth device\n");
			return -ENODEV;
		}

I also found a bug in my first patch - usb_string() can return negative value 
which can cause problems when not checked for.

> Well, actually, dev_info?  I guess so, but do you really want to see
> this message every time?
>
> thanks,
>
> greg k-h



-- 
Ondrej Zary

  reply	other threads:[~2010-09-05 17:01 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-03 21:17 [PATCH] [RFC] introduce cx82310_eth: Conexant CX82310-based ADSL router USB ethernet driver Ondrej Zary
2010-09-03 22:14 ` Simon Arlott
2010-09-04 11:57   ` Ondrej Zary
2010-09-04 16:12     ` Simon Arlott
2010-09-04 12:01   ` [PATCH] [RFC] cxacru: ignore ADSL routers Ondrej Zary
2010-09-04 16:30     ` [PATCH] cxacru: ignore cx82310_eth devices Simon Arlott
2010-09-05  4:03       ` Greg KH
2010-09-05 17:01         ` Ondrej Zary [this message]
2010-09-05 19:14           ` Greg KH
2010-09-05 20:12             ` Ondrej Zary
2010-09-05 21:04               ` Greg KH
2010-09-06 11:45                 ` Simon Arlott
2010-09-06 13:01                   ` Ondrej Zary
2010-09-08 20:56                 ` Ondrej Zary
2010-09-08 20:12               ` David Miller
2010-09-08 20:52                 ` [PATCH v3] " Ondrej Zary
2010-09-09  3:35                   ` Greg KH
2010-09-09  6:07                     ` David Miller
2010-09-09  6:25                       ` Greg KH
2010-09-09  4:29                   ` David Miller
2010-09-04 12:39   ` [PATCH v2] [RFC] introduce cx82310_eth: Conexant CX82310-based ADSL router USB ethernet driver Ondrej Zary
2010-09-08 20:11     ` David Miller

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=201009051901.13851.linux@rainbow-software.org \
    --to=linux@rainbow-software.org \
    --cc=dbrownell@users.sourceforge.net \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=simon@fire.lp0.eu \
    /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.