Re: [OOPS] on usb removal, and minicom closing 2.6.11.7

From: JustMan
Date: Thu Apr 14 2005 - 07:15:44 EST


> So,
>
> I plugged in e680 motorola phone, played a bit with minicom on
> /dev/ttyACM0, and when I closed minicom, got this oops. USB is useless,
> got to reboot computer to use it again!
> it's vanilla 2.6.11.7
>
> oops attached.
>

Try attached patch... (nasty solution, but it work for my C350 motorola phone)

>
>

--
Regards, JustMan.
diff -uNrp linux/drivers/base/class.orig.c linux/drivers/base/class.c
--- linux/drivers/base/class.orig.c 2005-03-10 12:19:00.000000000 +0300
+++ linux/drivers/base/class.c 2005-03-10 13:59:27.000000000 +0300
@@ -307,12 +307,14 @@ static int class_hotplug(struct kset *ks
if (class_dev->dev) {
/* add physical device, backing this device */
struct device *dev = class_dev->dev;
- char *path = kobject_get_path(&dev->kobj, GFP_KERNEL);

- add_hotplug_env_var(envp, num_envp, &i, buffer, buffer_size,
- &length, "PHYSDEVPATH=%s", path);
- kfree(path);
+ if(kobject_name(&dev->kobj)) {
+ char *path = kobject_get_path(&dev->kobj, GFP_KERNEL);

+ add_hotplug_env_var(envp, num_envp, &i, buffer, buffer_size,
+ &length, "PHYSDEVPATH=%s", path);
+ kfree(path);
+ }
/* add bus name of physical device */
if (dev->bus)
add_hotplug_env_var(envp, num_envp, &i,