Hi David,

> OK... if the firmware is found in /lib/firmware this loads it, then
> starts up the modem and monitors the status. If the firmware _isn't_
> found it waits for modem_run as before. 

this races with modem_run: since the firmware loading is done in a separate
kernel thread, it is possible to do:

(1) probe completes
(2) hotplug call - modem_run tries to grab the interface and fails
(3) firmware loading code fails to load the firmware - releases the interface
but too late.

> It pokes at the modem first to see if it responds to a status request;
> if it _does_ then it knows the firmware is loaded, and doesn't try to
> load it again. If the initial status request fails, we load the
> firmware.

Are you sure that is reliable?

> You were releasing interface #2 after loading the firmware -- I stopped
> doing that, because I think we want to keep it reserved to prevent the
> user from running modem_run. 

I did it exactly so the user can run modem_run!  IIRC I set things up fairly
carefully to maintain backwards compatibility.

> The interrupt handling isn't tested -- I think the Rev 4 modem (which I
> have) doesn't generate interrupts, and I don't actually have it plugged
> into a DSL-capable line so it never actually tells me the link is up
> anyway.

I will check it all out tonight.

> I also changed the name of the second stage firmware, because we have
> different versions for rev[123] and rev4.

Do you really need to set names according to the revision?  After all,
user-space can get the version number from "version" in sysfs.  Shouldn't
it be enough to use "stage1" and "stage2" and let user-space add a suffix
(here you may notice that I've forgotten how the firmware loader works -
something else to do tonight!).

By the way, do revision 0 modems really have no altsetting 2 for interface 1?

Ciao,

Duncan.


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to