Re: unfixed regression in 2.6.20-rc6 (since 2.6.19)



From: Rainer Weikusat
Newsgroups: gmane.linux.kernel
Subject: Re: unfixed regression in 2.6.20-rc6 (since 2.6.19)
Date: Sun, 28 Jan 2007 14:34:56 +0100

Hallo.

Greg KH <greg@xxxxxxxxx> writes:
[]
Please work to see what is wrong with the existing patch. Is there
anything that I can do to help you out?

This thing has consumed something like sixteen hours of my life in
total, with a gain-to-be-expected of exactly zero (I don't need to run
'current' kernels on my work machine, I have just grown into the habit
of doing so) and those sixteen hours cannot come back (and I even have
had these type of discussions around 'should it rather look like math
or rather like text' in sufficent quantities :->), so, except that I
would be very much obliged to you if a fix for this issue could go
into the 'official' tree rather sooner than later, no.

It's hot here.

I'm in similar situation (even *usb-serial* driver [TI USB] led me there;)

In short, it turned, that usb drivers aren't drivers at all, they are
just "USB interface drivers", i.e. managers of the particular USB
interface *in* the device.

Problem is: after changing ti-usb-serial's firmware, it is being reset
and apears with new device ID. It's OK so far, but even this may be
better (from USB hardware implementation point of view). Then this
device, after being caught with new ID by the same "driver" requires
seting USB configuration #2, in order to be usb-serial converter. Day was
lost to make this happen _inside_ driver (kernel 2.6.18). It turned, that
only way to do so is SYSFS, that set up by udev, and
"usb_set_configuration()" function is being used for that.

1. Why it's not called "sysfs_usb_set_configuration()"?

2. Why

[USB device view]: vID:dID -- bNumConfigurations -- bNumInterfaces

is being only device IDs tables in usb drivers?

3. Where's configuration and/or interfaces choosing? Yes, this may be not
so wide used, but hey, it's design issue! There's a big cave in device
setup and configuration chain!

Look at 2.6.19 with "usb_driver_set_configuration()" to see it.

And don't say, USB device requires userspace to setup (external
firmware is another question). I can be young and stupid, and this is
very wired only for my understanding. Simple NULL by default or set
table of {num_usb_conf, num_interface} for "drivers" will be enough.

Apart from that, I make a (fairly miserable) living by adapting open
source code to be usable in specific situations (ie adding or
modifying features, fixing bugs, writing drivers etc)

So and i. I wanted to adopt request_firmware() for TI USB serial, but
i became very confused and upset.

--
-o--=O`C
#oo'L O
<___=E M

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • SATA eating my disk, port reset, destroying unrelated data
    ... ata1: soft resetting port ... drive to an USB drive, ... # ACPI (Advanced Configuration and Power Interface) Support ... # AX.25 network device drivers ...
    (Linux-Kernel)
  • Re: CONFIG_NUMA breaks hibernation on x86-32 with PAE
    ... do you get any serial log or USB key output, ... No good ideas - the bug description gives me the impression of memory ... # CPUFreq processor drivers ... # Device Drivers ...
    (Linux-Kernel)
  • Re: 2.6.16-mm1
    ... it's in cfq code so I first tried changing schedulers) on USB ... Kernel is built for athlon k8, but running in 32 bit mode. ... # Firmware Drivers ... # ACPI Support ...
    (Linux-Kernel)
  • Re: 2.6.16-rc4: known regressions
    ... USB: allow usb drivers to disable dynamic ids ... This lets drivers, like the usb-serial ones, disable the ability to add ... into the usb-serial bus core for those drivers to get that ability. ... Make vm86 support optional ...
    (Linux-Kernel)
  • [PATCH 45/47] New default config for CRISv10.
    ... -# Loadable module support ... +# Core Netfilter Configuration ... # Drivers for built-in interfaces ... -# Miscellaneous USB options ...
    (Linux-Kernel)