On Wed, 2010-11-24 at 17:15 +0100, Johan Hovold wrote: > > Can you try the attached patch and see if it helps? > > Thanks, > Johan This patch just masks one of the symptoms. hso_log_port should never be called for a net device which is not created in the first place. Digging deeper I found this gem: if (((port_spec & HSO_PORT_MASK) == HSO_PORT_NETWORK) && !disable_net) hso_dev = hso_create_net_device(interface, port_spec); else hso_dev = hso_create_bulk_serial_device(interface, port_spec); So if we need to make network port but disable_net is set, we just make a serial device instead on that interface, which is obviously wrong. in hso_create_bulk_serial_device, hso_log_port is called with a port_spec for a network device and things go wrong. I'll see if I can make a patch later. Thanks, Filip- > > > >From f623d8fb01b581a82e7d032af32aa29815c1d79c Mon Sep 17 00:00:00 2001 > From: Johan Hovold <jhovold@xxxxxxxxx> > Date: Wed, 24 Nov 2010 17:00:00 +0100 > Subject: [PATCH] net: hso: fix crash when disable_net is set > > When module parameter disable_net is set, a serial device is created > instead of a net device but hso_log_port still tries to access the > network device. > > Compile-only tested. > > Reported-by: Piotr Isajew <pki@xxxxxxxxx> > Signed-off-by: Johan Hovold <jhovold@xxxxxxxxx> > --- > drivers/net/usb/hso.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c > index 1cd752f..bbb9cd7 100644 > --- a/drivers/net/usb/hso.c > +++ b/drivers/net/usb/hso.c > @@ -2151,7 +2151,8 @@ static void hso_log_port(struct hso_device *hso_dev) > port_type = "Unknown"; > break; > } > - if ((hso_dev->port_spec & HSO_PORT_MASK) == HSO_PORT_NETWORK) { > + if ((hso_dev->port_spec & HSO_PORT_MASK) == HSO_PORT_NETWORK && > + !disable_net) { > sprintf(port_dev, "%s", dev2net(hso_dev)->net->name); > } else > sprintf(port_dev, "/dev/%s%d", tty_filename, -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html