Summary of changes from v2.5.55 to v2.5.56 ============================================ c99 initialisers [SERIAL] Add prototypes and rename UPF_FLAGS UPF_FLAGS is confusing - rename it to UPF_CHANGE_MASK. Add uart_update_timeout, uart_get_baud_rate and uart_get_divisor prototypes. [SERIAL] Remove unused info->event [SERIAL] Convert change_speed() to settermios() Several serial drivers want to obtain the numeric baud rate when configuring their serial ports. Currently, two methods are used to "work around" this inadequacy in the change_speed API: baud = tty_get_baud_rate(port->info->tty); baud = BAUD_BASE / (16 * quot); Passing the termios structure down means that we can use uart_get_baud_rate() instead. We can also ensure that the various termios flags for options we don't support are correctly set. Lastly, this also provides 8250.c with a clean method for supporting divisors that are greater than the baud_base. ACPI: Use printk instead of pr_debug (Randy Dunlap) [SERIAL] Change settermios to set_termios set_termios matches the style used for the other methods. It should have been this from the start. [PATCH] ehci, remove potential hangs These don't affect the hang I'm hunting for, but paranoia argues the patch is better integrated than not: - prevent resubmit-from-completion looping in_irq if the transfers complete really fast. (likely never seen, but...) - grab ehci lock before reading irq status; should be harmless except in one host error cleanup-after-death [PATCH] zaurus B500 (sl-5600?) & usbnet More Zaurii. That model will be interesting from the perspective of "usb gadget drivers", lots of flexible endpoints are available. [PATCH] USB pegasus: small patch for 2.5 Same as the previous email, just against latest linux-2.5 tree. Sorry about the diffs - i can't sync with usb-2.5. [PATCH] again rtl8150 this diff is agains the latest linux-2.5; set mac address at dev->open() (as per Jeff Garzik :-) [PATCH] USB: kaweth freeing skbs this is the 2.5 version of the 2.4 fix - proper freeing of skbs [PATCH] 2.5.54 -- ohci-dbg.c: 358: In function `show_list': `data1' OK here's the version that without the kernel version #ifdef that helped the backport ... it fixes the build by restoring the "debug support only if CONFIG_USB_DEBUG" semantics. [PATCH] usbtest, covers control queueing and fault cleanup I wrote this a while back, finally debugged it. This covers some functionality that 2.5 newly demands of all HCDs: control requests can be queued. (Example: a user mode driver can talk on one interface, and a kernel mode one can talk on another, no need to handshake about who can make control requests.) The good news is that all the HCDs seem (light testing) to do the right things ... until some of the requests (intentionally) trigger routine faults (like protocol stalls) which the HCDs need to recover from. At that point, uhci-hcd started acting confused (it's got newish queueing code); details will come separately. The other two HCDs acted fine. I had expected more trouble there, maybe it'll show up later on. USB: revert davem's compile time fix, now that it's fixed properly. [PATCH] USB storage: remove usb_stor_tranfer_length() This patch removes the (often troublesome) usb_stor_transfer_length() function. We've finally gotten all the command initiators to send the correct values in the srb->request_bufflen field, so this is no longer needed. There are probably some sanity checks that can also be removed now, but that's for a later patch. USB brlvger: Forward port 2.4 fix for misuse of types. Thanks to Dave Jones for pointing this out. PATCH: fix "assignment from incompatible pointer type" [PATCH] USB: removed MOD_INC_USE_COUNT and MOD_DEC_USE_COUNT from driver that do not need it. [PATCH] USB printer driver: forward port 2.4 fix for misuse of types. Thanks to Dave Jones for pointing this out. [PATCH] USB mdc800: forward port 2.4 fix for misuse of types. Thanks to Dave Jones for pointing this out. [PATCH] DEV: change dev_printk() to take a pointer to dev instead of the structure itself. This was suggested by many people, Randy Dunlap being the most vocal :) [PATCH] USB: drivers/usb/core/ fixups due to dev_printk change [PATCH] USB: drivers/usb/host/ fixups due to dev_printk change [PATCH] USB: drivers/usb/serial/ fixups due to dev_printk change [PATCH] scanner.c: fix race in ioctl_scanner() This patch adds locking to ioctl_scanner() which was completely lacking until now. The patch is originally from Oliver Neukum . The patch was forward-ported from 2.4. [PATCH] USB scanner driver: updated documentation This patch updates the documentation for the USB scanner driver. The details: Documentation/usb/scanner.txt: - Amended for linux-2.5.54 - Added information about read_timeout - Added more details about /proc/bus/usb/devices - Added/updated links - Added pointers two "special" scanner drivers - Reordering, spell-checking, formatting - Used /dev/usb/scanner[0-15] instead of /dev/usbscanner[0-15] - Removed some basic USB configuration stuff - Added EHCI - Removed some more references to HP Documentation/usb/scanner-hp-sane.txt: Removed completely. This was a very outdated text for some HP scanners. All of this is explained in the documentation of the user-space SANE tools. Links and a short explanation about SANE was added to scanner.txt instead. This is the (slightly adapted) patch you already apllied for 2.4. [PATCH] USB scanner driver: updated Kconfig This patch removes the link in Kconfig to Documentation/usb/scanner-hp-sane.txt which was removed by the documentation update. [PATCH] scanner.c, scanner.h: Added vendor/product ids This patch adds vendor/product ids for two Visioneer scanners. The patch is on top of the ioctl patch. [PATCH] scanner.c: print user-supplied ids only on start-up With this patch, information about user-supplied ids is printed only once at startup instead of everytime any USB device is plugged in. The patch is on top of the new ids patch. ACPI: Remove typedefs in favor of using "struct" and "union" explicitly [PATCH] 2.5.54 dev_*(&,...): drivers/usb/input/pid.c [PATCH] scanner.c, scanner.h: Remove PV8630 ioctls This patch removes the inofficial ioctls that were used to support the PV8630 USB-over-Parport chipset. They were alreaded ifdefed out. Instead of them, the more generic (and official) SCANNER_IOCTL_CTRLMSG should be used. The last software that used the old ioctl (sane-hp4200) switched to the new ioctls a long time ago. This patch is ontop of the "user-supplied" patch. [PATCH] USB serial: pass the usb_device_id to the probe() function This is needed for drivers that want to use the driver_info field. [PATCH] USB serial: fixup for probe function paramaters changing. ACPI: Expose lid state to userspace (Zdenek OGAR Skalak) ACPI: Make button functions static (Pavel Machek) ACPI: Express state of lid in words, not a number [SUNZILOG]: Adapt sun4u get_zs for Peters new scanning scheme. [NET]: Uninline skb_headerinit. [AF_UNIX]: Uninline unix_get_socket/maybe_unmark_and_push, mark {pop,empty}_stack static. [UNIX]: Uninline unix_peer_get. [IPSEC]: Uninline _decode_session. [IPV4 ROUTE]: Uninline rt_hash_code and rt_may_expire. [IPV4 OUTPUT]: Uninline ip_finish_output and skb_fill_page_desc. [IPV4 FRAG]: Uninline ipq_kill. [IPV4 FIBHASH]: extern inline --> static inline. [IPV4 TCP]: Dont export or inline __tcp_put_port, but do inline tcp_put_port. [IPV4 TCP]: Uninline tcp_rtt_estimator and tcp_urg. extern inline --> static inline. [PATCH] [PATCH 2.5.54] scanner.c: endpoint detection cleanup This patch makes endpoint detection more generic. Basically, only one bulk-in endpoint is required, everything else is optional. The patch is on top of the PV8630 removal patch. [PATCH] USB: atmsar is not a module atmsar is not a module in its own right, it is an auxiliary library for speedtouch. So remove module code from atmsar and build module speedtch from speedtouch and atmsar. Note the module name change speedtouch -> speedtch (speedtch is the name used for the original 2.4 module, and is the name used in the online documentation). [PATCH] USB: speedtouch missing __init and __exit speedtouch: add __init and __exit to the module init/exit routines. [PATCH] USB: speedtouch: remove version string duplication speedtouch: remove udsl_version in favour of DRIVER_VERSION (which it duplicated). [PATCH] USB: speedtouch: add GPL notices speedtouch and friends: add GPL notices (yes, the module was released by Alcatel under the GPL) and fix some typos. [PATCH] scanner.c, scanner.h: Use symbolic name for interface class Hi, On Wed, Jan 08, 2003 at 08:29:36AM -0800, Greg KH wrote: > On Tue, Dec 24, 2002 at 05:44:55PM +0100, Henning Meier-Geinitz wrote: > > Hi, > > > > On Tue, Dec 24, 2002 at 12:40:06AM +0100, Oliver Neukum wrote: > > > > > > > Well, the reason I didn't use one was that I didn't found one in > > > > usb.h/usb_ch9.h for 16. It's also not listed on www.usb.org. > > > > > > > > lsusb calls it "Data". However, I'm not sure if this is a hex/dec > > > > error and they really mean "Data" = dec 10, not 0x10 (=dec 16). > > > > > > > > Shall I define a local symbolic name (e.g. > > > > STRANGE_HP_SCANJET_INTERFACE_CLASS)? But I really don't know what this > > > > class is. I only know that it's used by a Hewlett-Packard ScanJet > > > > 3300c and Genius HR6 USB - Vivid III. > > > > > > Better that than a bare number. > > > > Patch attached. > > Applied to my 2.4 tree, sorry for the delay. Here is the same for 2.5.44: [PATCH] USB Serial patch for old pl2303 devices. I got a PL2303 USB serial converter a few days ago, and got your driver up and running fairly quickly. The problem is that I got an oops when I rmmod-ed the drivers. The pl2303 uses two interfaces but registers only the second (technically wrong, I guess, but should work). When pl2303.o is removed, it attempts to deregister the first interface (which has no effect), so the second interface remains registered with usbserial. The old struct serial still points at the removed pl2303 driver so things go pop when anything touches it. I think the PL2303 hack in usb_serial_probe should not change the "interface" variable, which gets stored in serial->interface, since usbcore will register whatever "ifnum" says. I think that's enough waffle. The patch is below. Keep up the good work! PPC32: Default to 768MB of lowmem. PPC32: Add support for the IBM PPC 405GPR-based "Sycamore" board. PPC32: Handle machine checks on 4xx processors better. This also cleans up the machine check code generally. [SERIAL] Bug fix: remove infinite loop in sa1100 serial driver. [SERIAL] Restrict the baud rates returnable from uart_get_baud_rate() Supply the old termios, along with the max and min acceptable baud rate to uart_get_baud_rate(). uart_get_baud_rate() will now try to find a baud rate that satisfies the max and min constraint out of (requested rate, old rate, 9600 baud). We remove the code which performed a similar act in uart_get_divisor() and pass an appropriate min and max baud rate to uart_get_baud_rate() based on the UART clock rate. [PATCH] PATCH: more unusual USB storage devices IBM memory key Epson 785EPX PCMCIA slot Konica KD-200Z camera cpufreq-ACPI: no longer use CPUFREQ_ALL_CPUS (Dominik Brodowski) ACPI: Eliminate spawning of thread from timer callback. Use schedule_work for all cases. Thanks to Ingo Oeser, Andrew Morton, and Pavel Machek for their wisdom. [IPSEC]: Clean up key manager algorithm handling. [CRYPTO]: Add AES algorithm. - Merged AES code from Adam J. Richter - Add kconfig help and test vector code from Martin Clausen - Minor cleanups: removed EXPORT_NO_SYMBOLS (not needed for 2.5), removed debugging code etc. - Documentation updates. [CRYPTO]: Fix typo in aes.o rule. [SUNSAB]: Comment out powering down of chip for now. [IPV4 ROUTE]: Fix some sysctl documentation. [NET]: Kill __tcp_put_port module export. [TCP]: Fix tcp_put_port declaration. USB: fix ehci build for older versions of gcc [PATCH] Use %ebp rather than %ebx for thread_info pointer This patch changes assembly code that accesses thread_info to use %ebp rather than %ebx. This allows me to take advantage of the fact that %ebp is restored by user mode in the sysenter register pop removal patch. vm86() direct return code updated to match [ Linus ] [PATCH] Remove all register pops before sysexit This patch, which depends on the previous %ebx -> %ebp patch, removes all pop instruction in the sysenter return path. This leaks the thread_info address to user mode but this shouldn't be a security problem. This is what happens to the various registers: %eax: return value from system call: already in place %ebx, %esi, %edi: saved by the C compiler %ecx, %edx, %ebp: restored by user mode, fixed values by kernels %esp, eip: copied to %ecx/%edx and restored by sysexit %ds, %es: initialized to __USER_DS on kernel entry %cs, %ss: restored by sysexit based on msr %fs, %gs: not modified by the kernel (saved around context switch) eflags: not preserved, iopl saved around context switch FP, XMM: any code that modifies them must save/restore them Note that while it is possible to change %ebx, %esi, %edi, %ecx, %edx or %ebp via struct pt_regs, anything that does should set TIF_IRET or another work flag (and it hopefully already does). [SERIAL] Fix build errors caused in previous cset. Make psmouse driver _much_ more lenient about packet data timeouts ACPI: Update version string to 20030109 [WATCHDOG] Add several new watchdog drivers from 2.4 [WATCHDOG] pcwd driver update from 2.4 [WATCHDOG] acquirewdt nowayout fixes from 2.4 (plus some CodingStyle reformatting) [WATCHDOG] Acquirewdt C99 struct initialisers. [WATCHDOG] Advantech fixes from 2.4 [WATCHDOG] simplify advwdt_open, and add C99 struct initialisers [WATCHDOG] Fix up incorrect C99 struct conversion [WATCHDOG] acquirewdt compile fixes [WATCHDOG] advantech compile fixes [WATCHDOG] ALIM7101 fixes from 2.4 + C99 structs [WATCHDOG] More alim7101 cleanups [WATCHDOG] i810-tco fix from 2.4 [WATCHDOG] ib700wdt fixes from 2.4 [WATCHDOG] ib700wdt c99 structs [WATCHDOG] indydog nowayout fixes from 2.4 [WATCHDOG] machzwd nowayout fixes from 2.4 [WATCHDOG] mixcomwd nowayout fixes from 2.4 [WATCHDOG] pcwd nowayout fixes from 2.4 [WATCHDOG] sbc60xxwdt nowayout fixes from 2.4 [WATCHDOG] SC1200WDT nowayout fixes from 2.4 [WATCHDOG] SC520 nowayout fixes from 2.4 [WATCHDOG] C99 struct initialisers for shwdt [WATCHDOG] softdog nowayout fixes from 2.4 [WATCHDOG] w83877f nowayout fixes from 2.4 [WATCHDOG] nowayout fixes for wafer5823 [WATCHDOG] wdt nowayout changes from 2.4 [WATCHDOG] wdt977 nowayout fixes from 2.4 [WATCHDOG] wdt_pci nowayout fixes from 2.4 [WATCHDOG] eurotech indentation fixes [WATCHDOG] eurotech nowayout fixes from 2.4 [IPV6]: cleanup_ipv6_mibs cannot be __exit, since it is called on the ipv6_init error path. [IPSEC]: Dont check algorithm availability unless CONFIG_CRYPTO. [IPSEC]: Kill warning in xfrm_algo.c. [CRYPTO]: Use appropriate defaults if AH/ESP is enabled. [CRYPTO]: More credits for AES. [SPARC32]: Copy over sparc64 exception table changes. Fix exec_mmap() to release the MM while we still have it active, to properly de-activate it and make the child_tid logic work correctly. Clear %fs/%gs in deactivate_mm() on x86, since our LDT will no longer be valid after this. Update mm_release() to deactivate MM state before releasing, and avoid the expensive child_tid FUTEX if we're the last user of the MM. [SUNZILOG]: Fix uart_get_baud_rate args. [AIC7XXX]: Include asm/io.h, necessary to get at inb/outb/etc. [COMPAT]: Sparc64 use get/put compat_timespec. [NETFILTER]: ipt_multiport invert fix [NETFILTER]: Fix a locking bug in ip_conntrack_proto_tcp. [NETFILTER]: This patch fixes the ULOG target when logging packets without any ethernet header (mac address). [NETFILTER]: UDP nat helper support. [NETFILTER]: Fix ipt_REJECT udp checksums. [NETFILTER]: Fix excess logging of reused FTP expectations. [NETFILTER]: Fix incremental TCP checksum in ECN module. [NETFILTER]: ip_conntrack_ftp.c, fixes a typo in a DEBUG statement. [NAPI]: Discuss some more issues in driver HOWTO. [SPARC64]: Update defconfig. [PATCH] 'iret' segment fixup This fixes the 'iret' exception recovery code to use the new ES/DS segment rules - load them with __USER_DS instead of __KERNEL_DS. It also fixes a typo in a comment. [PATCH] small migration thread fix This fixes a potential problem in the migration thread for the case that the first CPU in the cpus_allowed mask of a process is offline. Fix kallsyms symbol lookup code. Let's do this trivial one-character version before looking at more complicated changes. Linux v2.5.56