aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-01-24Merge branch 'BUG_ON' of ↵Linus Torvalds4-9/+32
git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus * 'BUG_ON' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: Remove MAYBE_BUILD_BUG_ON BUILD_BUG_ON: make it handle more cases
2011-01-24Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linusLinus Torvalds6-15/+94
* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: module: fix missing semicolons in MODULE macro usage param: add null statement to compiled-in module params module: fix linker error for MODULE_VERSION when !MODULE and CONFIG_SYSFS=n module: show version information for built-in modules in sysfs
2011-01-24Merge branch 'for-linus' of ↵Linus Torvalds10-14/+40
git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: selinux: return -ENOMEM when memory allocation fails tpm: fix panic caused by "tpm: Autodetect itpm devices" TPM: Long default timeout fix trusted keys: Fix a memory leak in trusted_update(). keys: add trusted and encrypted maintainers encrypted-keys: rename encrypted_defined files to encrypted trusted-keys: rename trusted_defined files to trusted
2011-01-24Make CIFS mount work in a container.Rob Landley2-2/+43
Teach cifs about network namespaces, so mounting uses adresses/routing visible from the container rather than from init context. A container is a chroot on steroids that changes more than just the root filesystem the new processes see. One thing containers can isolate is "network namespaces", meaning each container can have its own set of ethernet interfaces, each with its own own IP address and routing to the outside world. And if you open a socket in _userspace_ from processes within such a container, this works fine. But sockets opened from within the kernel still use a single global networking context in a lot of places, meaning the new socket's address and routing are correct for PID 1 on the host, but are _not_ what userspace processes in the container get to use. So when you mount a network filesystem from within in a container, the mount code in the CIFS driver uses the host's networking context and not the container's networking context, so it gets the wrong address, uses the wrong routing, and may even try to go out an interface that the container can't even access... Bad stuff. This patch copies the mount process's network context into the CIFS structure that stores the rest of the server information for that mount point, and changes the socket open code to use the saved network context instead of the global network context. I.E. "when you attempt to use these addresses, do so relative to THIS set of network interfaces and routing rules, not the old global context from back before we supported containers". The big long HOWTO sets up a test environment on the assumption you've never used ocntainers before. It basically says: 1) configure and build a new kernel that has container support 2) build a new root filesystem that includes the userspace container control package (LXC) 3) package/run them under KVM (so you don't have to mess up your host system in order to play with containers). 4) set up some containers under the KVM system 5) set up contradictory routing in the KVM system and the container so that the host and the container see different things for the same address 6) try to mount a CIFS share from both contexts so you can both force it to work and force it to fail. For a long drawn out test reproduction sequence, see: http://landley.livejournal.com/47024.html http://landley.livejournal.com/47205.html http://landley.livejournal.com/47476.html Signed-off-by: Rob Landley <[email protected]> Reviewed-by: Jeff Layton <[email protected]> Signed-off-by: Steve French <[email protected]>
2011-01-24Remove MAYBE_BUILD_BUG_ONRusty Russell4-4/+6
Now BUILD_BUG_ON() can handle optimizable constants, we don't need MAYBE_BUILD_BUG_ON any more. Signed-off-by: Rusty Russell <[email protected]>
2011-01-24BUILD_BUG_ON: make it handle more casesRusty Russell1-6/+27
BUILD_BUG_ON used to use the optimizer to do code elimination or fail at link time; it was changed to first the size of a negative array (a nicer compile time error), then (in 8c87df457cb58fe75b9b893007917cf8095660a0) to a bitfield. This forced us to change some non-constant cases to MAYBE_BUILD_BUG_ON(); as Jan points out in that commit, it didn't work as intended anyway. bitfields: needs a literal constant at parse time, and can't be put under "if (__builtin_constant_p(x))" for example. negative array: can handle anything, but if the compiler can't tell it's a constant, silently has no effect. link time: breaks link if the compiler can't determine the value, but the linker output is not usually as informative as a compiler error. If we use the negative-array-size method *and* the link time trick, we get the ability to use BUILD_BUG_ON() under __builtin_constant_p() branches, and maximal ability for the compiler to detect errors at build time. We also document it thoroughly. Signed-off-by: Rusty Russell <[email protected]> Cc: Jan Beulich <[email protected]> Acked-by: Hollis Blanchard <[email protected]>
2011-01-24module: fix missing semicolons in MODULE macro usageRusty Russell2-2/+2
You always needed them when you were a module, but the builtin versions of the macros used to be more lenient. Reported-by: Stephen Rothwell <[email protected]> Signed-off-by: Rusty Russell <[email protected]>
2011-01-24param: add null statement to compiled-in module paramsLinus Walleij1-2/+4
Add an unused struct declaration statement requiring a terminating semicolon to the compile-in case to provoke an error if __MODULE_INFO() is used without the terminating semicolon. Previously MODULE_ALIAS("foo") (no semicolon) compiled fine if MODULE was not selected. Cc: Dan Carpenter <[email protected]> Signed-off-by: Linus Walleij <[email protected]> Signed-off-by: Rusty Russell <[email protected]>
2011-01-24module: fix linker error for MODULE_VERSION when !MODULE and CONFIG_SYSFS=nRusty Russell1-1/+1
lib/built-in.o:(__modver+0x8): undefined reference to `__modver_version_show' lib/built-in.o:(__modver+0x2c): undefined reference to `__modver_version_show' Simplest to just not emit anything: if they've disabled SYSFS they probably want the smallest kernel possible. Reported-by: Randy Dunlap <[email protected]> Signed-off-by: Rusty Russell <[email protected]>
2011-01-24module: show version information for built-in modules in sysfsDmitry Torokhov3-11/+88
Currently only drivers that are built as modules have their versions shown in /sys/module/<module_name>/version, but this information might also be useful for built-in drivers as well. This especially important for drivers that do not define any parameters - such drivers, if built-in, are completely invisible from userspace. This patch changes MODULE_VERSION() macro so that in case when we are compiling built-in module, version information is stored in a separate section. Kernel then uses this data to create 'version' sysfs attribute in the same fashion it creates attributes for module parameters. Signed-off-by: Dmitry Torokhov <[email protected]> Signed-off-by: Rusty Russell <[email protected]>
2011-01-24CIFS: Remove pointless variable assignment in cifs_dfs_do_automount()Jesper Juhl1-1/+0
In fs/cifs/cifs_dfs_ref.c::cifs_dfs_do_automount() we have this code: ... mnt = ERR_PTR(-EINVAL); if (IS_ERR(tlink)) { mnt = ERR_CAST(tlink); goto free_full_path; } ses = tlink_tcon(tlink)->ses; rc = get_dfs_path(xid, ses, full_path + 1, cifs_sb->local_nls, &num_referrals, &referrals, cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR); cifs_put_tlink(tlink); mnt = ERR_PTR(-ENOENT); ... The assignment of 'mnt = ERR_PTR(-EINVAL);' is completely pointless. If we take the 'if (IS_ERR(tlink))' branch we'll set 'mnt' again and we'll also do so if we do not take the branch. There is no way we'll ever use 'mnt' with the assigned 'ERR_PTR(-EINVAL)' value, so we may as well just remove the pointless assignment. Signed-off-by: Jesper Juhl <[email protected]> Signed-off-by: Steve French <[email protected]>
2011-01-24drm/radeon/kms: simplify atom adjust pll setupAlex Deucher1-17/+5
Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2011-01-24drm/radeon/kms: match r6xx/r7xx/evergreen asic_reset with previous asicsAlex Deucher2-0/+6
Don't reset if the engine isn't busy. This matches the behavior of previous asics. Reseting a non-hung block can lead to a hang. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=33272 Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2011-01-24drm/radeon/kms: make the mac rv630 quirk genericAlex Deucher1-9/+5
Seems some other boards do this as well. Reported-by: Andrea Merello <[email protected]> Signed-off-by: Alex Deucher <[email protected]> Cc: [email protected] Signed-off-by: Dave Airlie <[email protected]>
2011-01-24drm/radeon/kms: fix a spelling error in an error messageAlex Deucher1-1/+1
Signed-off-by: Alex Deucher <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2011-01-24drm/radeon/kms: Initialize pageflip spinlocks.Michel Dänzer1-0/+3
I'm amazed but not really surprised this worked on x86... Signed-off-by: Michel Dänzer <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
2011-01-24selinux: return -ENOMEM when memory allocation failsDavidlohr Bueso2-3/+3
Return -ENOMEM when memory allocation fails in cond_init_bool_indexes, correctly propagating error code to caller. Signed-off-by: Davidlohr Bueso <[email protected]> Signed-off-by: James Morris <[email protected]>
2011-01-24tpm: fix panic caused by "tpm: Autodetect itpm devices"Olof Johansson1-3/+3
commit 3f0d3d016d89a5efb8b926d4707eb21fa13f3d27 adds a check for PNP device id to the common tpm_tis_init() function, which in some cases (force=1) will be called without the device being a member of a pnp_dev. Oopsing and panics ensue. Move the test up to before the call to tpm_tis_init(), since it just modifies a global variable anyway. Signed-off-by: Olof Johansson <[email protected]> Acked-by: Rajiv Andrade <[email protected]> Signed-off-by: James Morris <[email protected]>
2011-01-24TPM: Long default timeout fixRajiv Andrade1-4/+6
If duration variable value is 0 at this point, it's because chip->vendor.duration wasn't filled by tpm_get_timeouts() yet. This patch sets then the lowest timeout just to give enough time for tpm_get_timeouts() to further succeed. This fix avoids long boot times in case another entity attempts to send commands to the TPM when the TPM isn't accessible. Signed-off-by: Rajiv Andrade <[email protected]> Signed-off-by: James Morris <[email protected]>
2011-01-24trusted keys: Fix a memory leak in trusted_update().Jesper Juhl1-0/+1
One failure path in security/keys/trusted.c::trusted_update() does not free 'new_p' while the others do. This patch makes sure we also free it in the remaining path (if datablob_parse() returns different from Opt_update). Signed-off-by: Jesper Juhl <[email protected]> Signed-off-by: James Morris <[email protected]>
2011-01-24keys: add trusted and encrypted maintainersMimi Zohar1-0/+22
Add myself and David Safford as maintainers for trusted/encrypted keys. Signed-off-by: Mimi Zohar <[email protected]> Acked-by: David Howells <[email protected]> Signed-off-by: James Morris <[email protected]>
2011-01-24encrypted-keys: rename encrypted_defined files to encryptedMimi Zohar3-2/+3
Rename encrypted_defined.c and encrypted_defined.h files to encrypted.c and encrypted.h, respectively. Based on request from David Howells. Signed-off-by: Mimi Zohar <[email protected]> Acked-by: David Howells <[email protected]> Signed-off-by: James Morris <[email protected]>
2011-01-24trusted-keys: rename trusted_defined files to trustedMimi Zohar3-2/+2
Rename trusted_defined.c and trusted_defined.h files to trusted.c and trusted.h, respectively. Based on request from David Howells. Signed-off-by: Mimi Zohar <[email protected]> Acked-by: David Howells <[email protected]> Signed-off-by: James Morris <[email protected]>
2011-01-24Merge branch 'for-usb-linus' of ↵Greg Kroah-Hartman6-86/+110
master.kernel.org:/pub/scm/linux/kernel/git/sarah/xhci into usb-linus * 'for-usb-linus' of master.kernel.org:/pub/scm/linux/kernel/git/sarah/xhci: xhci: Remove more doorbell-related reads xHCI: fix printk_ratelimit() usage xHCI: replace dev_dbg() with xhci_dbg() xHCI: fix cycle bit set in giveback_first_trb() xHCI: remove redundant parameter in giveback_first_trb() xHCI: fix queue_trb in isoc transfer xhci: Use GFP_NOIO during device reset. usb: Realloc xHCI structures after a hub is verified. xhci: Do not run xhci_cleanup_msix with irq disabled xHCI: synchronize irq in xhci_suspend() xhci: Resume bus on any port status change.
2011-01-23hwmon: (asus_atk0110) Override interface detection on Sabertooth X58Luca Tettamanti1-1/+22
ASUS Sabertooth X58 has a bug in ACPI that prevents the reading of MCH temperature when the "old" ATK0110 interface is used. Add a DMI entry to override the detection heuristic and force the use of the "new" interface on this board. Signed-off-by: Luca Tettamanti <[email protected]> Tested-by: Joris Creyghton <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2011-01-23hwmon: (applesmc) Properly initialize lockdep attributesHenrik Rydberg1-0/+1
The switch to dynamically allocated sysfs attributes left the internal lockdep members uninitialized, causing a formal bug. This patch adds sysfs_attr_init() to the node creation function, remedying the problem. Reported-and-tested-by: Stefan Richter <[email protected]> Signed-off-by: Henrik Rydberg <[email protected]> Signed-off-by: Guenter Roeck <[email protected]>
2011-01-23x86: Fix jump label with RO/NX module protection crashmatthieu castet1-1/+1
If we use jump table in module init, there are marked as removed in __jump_table section after init is done. But we already applied ro permissions on the module, so we can't modify a read only section (crash in remove_jump_label_module_init). Make the __jump_table section rw. Signed-off-by: Matthieu CASTET <[email protected]> Cc: Xiaotian Feng <[email protected]> Cc: Jason Baron <[email protected]> Cc: Steven Rostedt <[email protected]> Cc: Frederic Weisbecker <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Arjan van de Ven <[email protected]> Cc: Siarhei Liakh <[email protected]> Cc: Xuxian Jiang <[email protected]> Cc: James Morris <[email protected]> Cc: Rusty Russell <[email protected]> Cc: Dave Jones <[email protected]> Cc: Kees Cook <[email protected]> Cc: Linus Torvalds <[email protected]> Cc: Andrew Morton <[email protected]> LKML-Reference: <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2011-01-23drm/i915: Recognise non-VGA display devicesChris Wilson3-4/+10
Starting with SandyBridge (though possible with earlier hacked BIOSes), the BIOS may initialise the IGFX as secondary to a discrete GPU. Prior, it would simply disable the integrated GPU. So we adjust our PCI class mask to match any DISPLAY_CLASS device. In such a configuration, the IGFX is not a primary VGA controller and so should not take part in VGA arbitration, and the error return from vga_client_register() is expected. Signed-off-by: Chris Wilson <[email protected]> Cc: [email protected]
2011-01-23drm/i915: Fix use of invalid array size for ring->sync_seqnoChris Wilson2-2/+2
There are I915_NUM_RINGS-1 inter-ring synchronisation counters, but we were clearing I915_NUM_RINGS of them. Oops. Reported-by: Jiri Slaby <[email protected]> Tested-by: Jiri Slaby <[email protected]> Signed-off-by: Chris Wilson <[email protected]>
2011-01-23m68k/amiga: Fix "debug=mem"Geert Uytterhoeven1-9/+7
`debug=mem' on Amiga has been broken for a while. early_param() processing is done very/too early, i.e. before amiga_identify() / amiga_chip_init(), causing amiga_savekmsg_setup() not to find any Chip RAM. As we don't plan to free this memory anyway, just steal it from the initial Chip RAM memory block instead. Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-23m68k/atari: Rename "scc" to "atari_scc"Geert Uytterhoeven4-11/+11
It's a way too generic name for a global #define and conflicts with a variable with the same name, causing build errors like: | drivers/staging/brcm80211/brcmfmac/../util/siutils.c: In function ‘_si_clkctl_cc’: | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1364: error: expected identifier or ‘(’ before ‘volatile’ | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1364: error: expected ‘)’ before ‘(’ token | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1421: error: incompatible types in assignment | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1422: error: invalid operands to binary & | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1423: error: invalid operands to binary & | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1424: error: invalid operands to binary | | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1425: error: aggregate value used where an integer was expected | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1425: error: aggregate value used where an integer was expected | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1425: error: aggregate value used where an integer was expected | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1425: error: aggregate value used where an integer was expected | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1425: error: aggregate value used where an integer was expected | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1425: error: aggregate value used where an integer was expected | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1425: error: aggregate value used where an integer was expected | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1425: error: aggregate value used where an integer was expected | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1425: error: aggregate value used where an integer was expected | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1425: error: aggregate value used where an integer was expected | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1425: error: aggregate value used where an integer was expected | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1425: error: incompatible type for argument 4 of ‘bcmsdh_reg_write’ | drivers/staging/brcm80211/brcmfmac/../util/siutils.c:1428: error: invalid operands to binary & | make[8]: *** [drivers/staging/brcm80211/brcmfmac/../util/siutils.o] Error 1 Signed-off-by: Geert Uytterhoeven <[email protected]>
2011-01-22fs: fix new dcache.c kernel-doc warningsRandy Dunlap1-1/+3
Fix new fs/dcache.c kernel-doc warnings: Warning(fs/dcache.c:184): No description found for parameter 'dentry' Warning(fs/dcache.c:296): No description found for parameter 'parent' Warning(fs/dcache.c:1985): No description found for parameter 'dparent' Warning(fs/dcache.c:1985): Excess function parameter 'parent' description in 'd_validate' Signed-off-by: Randy Dunlap <[email protected]> Cc: Alexander Viro <[email protected]> Cc: Nick Piggin <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-01-22rapidio: fix new kernel-doc warningsRandy Dunlap1-0/+2
Fix new rapidio kernel-doc warnings: Warning(drivers/rapidio/rio-scan.c:953): No description found for parameter 'prev' Warning(drivers/rapidio/rio-scan.c:953): No description found for parameter 'prev_port' Signed-off-by: Randy Dunlap <[email protected]> Cc: Alexandre Bounine <[email protected]> Cc: Matt Porter <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-01-22docbook: fix broken serial to tty/serial movementRandy Dunlap1-2/+2
Fix move of drivers/serial/ to drivers/tty/, where it broke one of the docbook files: docproc: drivers/serial/serial_core.c: No such file or directory Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2011-01-22tty/serial: fix apbuart buildRandy Dunlap1-0/+1
Fix build errors by selecting SERIAL_CORE: ERROR: "uart_register_driver" [drivers/tty/serial/apbuart.ko] undefined! ERROR: "uart_write_wakeup" [drivers/tty/serial/apbuart.ko] undefined! ERROR: "uart_update_timeout" [drivers/tty/serial/apbuart.ko] undefined! ERROR: "uart_get_divisor" [drivers/tty/serial/apbuart.ko] undefined! ERROR: "uart_get_baud_rate" [drivers/tty/serial/apbuart.ko] undefined! ERROR: "uart_add_one_port" [drivers/tty/serial/apbuart.ko] undefined! ERROR: "uart_unregister_driver" [drivers/tty/serial/apbuart.ko] undefined! ERROR: "uart_remove_one_port" [drivers/tty/serial/apbuart.ko] undefined! Signed-off-by: Randy Dunlap <[email protected]> Cc: Daniel Hellstrom <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22n_hdlc: fix read and write lockingPaul Fulghum1-45/+45
Fix locking in read and write code of n_hdlc line discipline. 2.6.36 replaced lock_kernel() with tty_lock(). The tty mutex is not dropped automatically when the thread sleeps like the BKL. This results in a blocked read or write holding the tty mutex and stalling operations by other devices that use the tty mutex. A review of n_hdlc read and write code shows: 1. neither BKL or tty mutex are required for correct operation 2. read can block while read data is available if data is posted between availability check and call to interruptible_sleep_on() 3. write does not set process state to TASK_INTERRUPTIBLE on each pass through the processing loop which can cause unneeded scheduling of the thread The unnecessary tty mutex references have been removed. Read changed to use same code as n_tty read for completing reads and blocking. Write corrected to set process state to TASK_INTERRUPTIBLE on each pass through processing loop. Signed-off-by: Paul Fulghum <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Cc: Alan Cox <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22serial: unbreak billionton CF cardPavel Machek1-1/+2
Unbreak Billionton CF bluetooth card. This actually fixes a regression on zaurus. Signed-off-by: Pavel Machek <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22tty: use for_each_console() and WARN() on sysfs failuresKay Sievers2-3/+3
This fixes the build warnings in the tty code, and uses the proper function for iterating over the console devices. Signed-off-by: Kay Sievers <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22vt: fix issue when fbcon wants to takeover a second time.Dave Airlie1-2/+7
With framebuffer handover and multiple GPUs, we get into a position where the fbcon unbinds the vesafb framebuffer for GPU 1, but we still have a radeon framebuffer bound from GPU 0, so we don't unregister the console driver. Then when we tried to bind the new radeon framebuffer for GPU1 we never get to the bind call as we fail due to the console being registered already. This changes the return value to -EBUSY when the driver is already registered and continues to bind for -EBUSY. Signed-off-by: Dave Airlie <[email protected]> Cc: Alan Cox <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22usb: gadget: composite: avoid access beyond array max lengthMaulik Mankad1-2/+3
One of the USB CV MSC tests issues Get Max LUN request with invalid wIndex (wIndex = 65535) parameter. Add proper handling to prevent array index out of bounds issue. Signed-off-by: Maulik Mankad <[email protected]> Cc: David Brownell <[email protected]> Acked-by: Alan Stern <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22USB: serial: handle Data Carrier Detect changesLibor Pechacek8-40/+50
Alan's commit 335f8514f200e63d689113d29cb7253a5c282967 introduced .carrier_raised function in several drivers. That also means tty_port_block_til_ready can now suspend the process trying to open the serial port when Carrier Detect is low and put it into tty_port.open_wait queue. We need to wake up the process when Carrier Detect goes high and trigger TTY hangup when CD goes low. Some of the devices do not report modem status line changes, or at least we don't understand the status message, so for those we remove .carrier_raised again. Signed-off-by: Libor Pechacek <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22USB: gadget: Fix endpoint representation in ci13xxx_udcPavankumar Kondeti2-131/+142
Fix a bug where only half the number of endpoints supported by the hardware are exposed to gadget. If DEN filed in the DCCPARAMS register has 'N' then 'N' IN endpoints and 'N" OUT endpoints can be supported. But only 'N' bidirectional endpoints are added to the gadget ep_list. This patch also ensures that the data and handshake transactions of previous setup packet are flushed upon a new setup packet arrival on ep0. Signed-off-by: Pavankumar Kondeti <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22USB: gadget: Fix error path in ci13xxx_udc gadget probe functionPavankumar Kondeti1-3/+1
Don't call gadget driver's unbind when bind is failed. Initialize udc->driver only after gadget driver bind is successful. Otherwise pull-up can be enabled upon VBUS session even when no gadget is bounded. Signed-off-by: Pavankumar Kondeti <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22usb: pch_udc: Fix the worning log issue at gadget driver removeToshiharu Okada1-1/+2
When removing a serial gadget driver, the kernel warning message is outputted. This patch fixed this issue. The pch_udc driver did not have disconnection processing of gadget. Signed-off-by: Toshiharu Okada <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22USB: serial: Updated support for ICOM devicesPieter Maes2-6/+28
I found the original patch on the db0fhn repeater wiki (couldn't find the email of the origial author) I guess it was never commited. I updated and added some Icom HAM-radio devices to the ftdi driver. Added extra comments to make clear what devices it are. Signed-off-by: Pieter Maes <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22USB: ehci-mxc: add work-around for efika mx/sb bugArnaud Patard (Rtp)1-0/+21
Add support for setting CHRGVBUS to workaround a hardware bug on efika mx/sb boards. See http://lists.infradead.org/pipermail/linux-arm-kernel/2011-January/037341.html Signed-off-by: Arnaud Patard <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22USB: unbreak ehci-mxc on otg port of i.MX27Eric Bénard1-2/+2
commit 711669e5b80b6f2d88f61ed8a9681f83d8cbd201 fixed port 0 support for i.MX51 but broke it for (at least) i.MX27 which doesn't have a usb_phy1 clock but has a pdev->id 0. Signed-off-by: Eric Bénard <[email protected]> Cc: Arnaud Patard <[email protected]> Cc: Sascha Hauer <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22drivers: update to pl2303 usb-serial to support Motorola cablesDario Lombardo2-0/+2
Added 0x0307 device id to support Motorola cables to the pl2303 usb serial driver. This cable has a modified chip that is a pl2303, but declares itself as 0307. Fixed by adding the right device id to the supported devices list, assigning it the code labeled PL2303_PRODUCT_ID_MOTOROLA. Signed-off-by: Dario Lombardo <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22USB: adding USB support for Cinterion's HC2x, EU3 and PH8 productsNicolaus Colberg1-2/+21
/drivers/usb/serial/option.c: Adding support for Cinterion's HC25, HC28, HC28J, EU3-E, EU3-P and PH8 by correcting/adding Cinterion's and Siemens' Vendor IDs as well as Product IDs and USB_DEVICE tuples Signed-off-by: Nicolaus Colberg <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2011-01-22USB serial: add missing .usb_driver field in serial driversAlan Stern10-2/+18
This patch (as1443) fixes a bug found in many of the USB serial drivers: They don't set the .usb_driver field in their usb_serial_driver structure. This field is needed for assigning dynamic IDs for device matching. In addition, starting with the 2.6.37 kernel, the .usb_driver field is needed for proper autosuspend operation. Without it, attempts to open the device file will fail. Signed-off-by: Alan Stern <[email protected]> Reported-by: Dan Williams <[email protected]> CC: <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>