Date: Wed, 10 Jan 2007 02:12:02 +0100 From: "Julian Stacey" <jhs@berklix.org> To: Atom Smasher <atom@smasher.org> Cc: freebsd-usb@freebsd.org Subject: Re: usb/107701: usbd ignores "detach" Message-ID: <200701100112.l0A1C2Qx046748@fire.jhs.private> In-Reply-To: Your message of "Tue, 09 Jan 2007 18:04:47 EST." <20070109230449.56854.qmail@smasher.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Reposting here to restore cc: freebsd-usb@freebsd.org lost from To: "Julian H. Stacey" <jhs@flat.berklix.net> Cc: freebsd-gnats-submit@freebsd.org, bug-followup@freebsd.org Julian S. ------------------ Reference: > From: Atom Smasher <atom@smasher.org> > Date: Tue, 9 Jan 2007 18:04:47 -0500 (EST) > Message-id: <20070109230449.56854.qmail@smasher.org> Atom Smasher wrote: > On Tue, 9 Jan 2007, Julian H. Stacey wrote: > > > Did you try taking out devname from your entries, to quote a comment I > > added to my personal usbd.conf some time back: > > > > # - devname entries are mostly unused, as only reported on attach, > > # not detach, so detach fails to be called if devname is specified. > ================== > > i removed devname from one of the entries and restarted usbd. the detach > event is still silently ignored. > > here's the relevant section of my usbd.conf. note that it assumes that > "device speaker" is enabled in the kernel: > > <<<<<<<<<<<<<< > > device "CF card" > devname "umass[0-9]+" > attach "echo 'T90 L16 DA' > /dev/speaker" > detach "echo 'T90 L16 AD' > /dev/speaker" > > <<<<<<<<<<<<<< > > it should play two ascending tones when i insert a flash drive, and two > descending tones when i remove the flash drive. it only plays tones on > insertion. > > > -- > ...atom > > ________________________ > http://atom.smasher.org/ > 762A 3B98 A3C3 96C9 C6B7 582A B88D 52E4 D9F5 7808 > ------------------------------------------------- > > "TELEVISION IS DRUGS" > -- Bumper Sticker --------------- I can reproduce the error. Loads of people Should have stumbled on this. I've found the bug in the code. This diff just marks the bug. *** /host/fire/usr/src/usr.sbin/usbd/usbd.c Fri Jul 1 17:49:52 2005 --- usbd.c Wed Jan 10 01:54:54 2007 *************** *** 879,886 **** --- 879,891 ---- devinfo = &events.u.ue_device; for (i = 0; i < USB_MAX_DEVNAMES; i++) { + printf(" \nJHS1\n" ); if (devinfo->udi_devnames[i][0] == '\0') break; + /* This break is a problem it prevents + USB_EVENT_IS_DETACH being run at JHS3 + */ + printf(" \nJHS2\n" ); memcpy(&the_event, &events, sizeof(the_event)); the_devinfo = &the_event.u.ue_device; *************** *** 925,930 **** --- 930,936 ---- if (USB_EVENT_IS_ATTACH(the_event.ue_type) && action_match.action->attach) execute_command(action_match.action->attach); + printf(" \nJHS3\n" ); if (USB_EVENT_IS_DETACH(the_event.ue_type) && action_match.action->detach) execute_command(action_match.action->detach); The error is still there in 6-Stable too. There is no src/usr.sbin/usbd/usbd.c in current. I don't know the code, & too tired & busy to fix this, Someone else here able to fix it & post a patch ? If not, Atom Smasher <atom@smasher.org> please use send-pr to report this identified bug. -- Julian Stacey. BSD Unix C Net Consultancy, Munich/Muenchen http://berklix.com Mail Ascii, not HTML. Ihr Rauch = mein allergischer Kopfschmerz. http://berklix.org/free-software
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200701100112.l0A1C2Qx046748>