This applies to USB modem which stopped working after upgrading your kernel to a version higher than 2.6.7 (2.6.8, 2.6.9).
I had my Netmod USB modem dead after upgrading and this turned out to be a terrible headache since i could not connect to the Net at my home, i don't know why this patch was not included in the higher sources (it's not my patch i found this one on the Linux-usb-development mailing list).
1) Open up the file: /usr/src/linux/drivers/usb/class/cdc-acm.c
2) Find somewhere at line 547 (this can be different from one kernel version to another) the line:

Code:

if (!buffer) {
err("Wierd descriptor references");
return -EINVAL;
}

If you don't have the same line search for a line that contains the -EINVAL (i found out that in kernel versions prior 2.6.9 the !buffer is named !buflen.
3)Comment out this lines (beware backup the file before changing it!).
4) Add the following lines:

I had been looking for a month now for this fix!!!!
Thank you Pestilence a LOT!
At last this damn netmod worked. Can you give us the devel-list message id where you found this fix?
Any ideas about how to remove the 'ignore extra header' when initializing cdc_acm driver (found in dmesg)