aboutsummaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2009-11-30Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6Linus Torvalds1-2/+2
* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: gcm - fix another complete call in complete fuction crypto: padlock-aes - Use the correct mask when checking whether copying is required
2009-11-30Merge branch 'i2c-for-linus' of ↵Linus Torvalds3-31/+59
git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging * 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: at24: Use timeout also for read i2c: Fix userspace_device list corruption MAINTAINERS: Add missing i2c files i2c/tsl2550: Fix lux value in extended mode
2009-11-30Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds2-4/+4
* 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] Update mach-types ARM: 5793/1: ARM: Check put_user fail in do_signal when enable OABI_COMPAT MAINTAINERS: add maintainer information for AMBA primecell drivers [ARM] pxa/spitz: fix compile regression on spitz ARM: PNX4008: i2c-pnx: use the same dev_id for request_irq and free_irq [ARM] pxa/cpufreq: fix index assignments for end marker ARM: PNX4008: fix watchdog device driver name [ARM] kmap: fix build errors with DEBUG_HIGHMEM enabled
2009-11-30Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6Linus Torvalds1-1/+1
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6: ide: fix ioctl to pass requested transfer mode to ide_find_dma_mode instead of UDMA6
2009-11-30Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6Linus Torvalds6-35/+62
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6: sunsu: Use sunserial_console_termios() in sunsu_console_setup(). sunsu: Pass true 'ignore_line' to console match when RSC or LOM console. serial: suncore: Fix RSC/LOM handling in sunserial_console_termios(). serial: suncore: Add 'ignore_line' argument to sunserial_console_match(). sunsu: Fix detection of SU ports which are RSC console or control. sunsab: Do not set sunsab_reg.cons right before registering minors. sparc64: Fix definition of VMEMMAP_SIZE.
2009-11-30Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds30-236/+303
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits) b44: Fix wedge when using netconsole. wan: cosa: drop chan->wsem on error path ep93xx-eth: check for zero MAC address on probe, not on device open NET: smc91x: Fix irq flags smsc9420: prevent BUG() if ethtool is called with interface down r8169: restore mac addr in rtl8169_remove_one and rtl_shutdown ipv4: additional update of dev_net(dev) to struct *net in ip_fragment.c, NULL ptr OOPS e100: Use pci pool to work around GFP_ATOMIC order 5 memory allocation failure sctp: on T3_RTX retransmit all the in-flight chunks pktgen: Fix netdevice unregister macvlan: fix gso_max_size setting rfkill: fix miscdev ops ath9k: set ps_default as false hso: fix soft-lockup hso: fix debug routines pktgen: Fix device name compares stmmac: do not fail when the timer cannot be used. stmmac: fixed a compilation error when use the external timer netfilter: xt_limit: fix invalid return code in limit_mt_check() Au1x00: fix crash when trying register_netdev() ...
2009-11-30Merge branch 'for-linus' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: keyboard - fix braille keyboard keysym generation
2009-11-30Merge branch 'pm-fixes' of ↵Linus Torvalds1-6/+6
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6 * 'pm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6: PM: fix irq enable/disable in runtime PM code
2009-11-30Merge branch 'for-linus' of ↵Linus Torvalds1-6/+35
git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: ohci: pass correct iso xmit timestamps to core firewire: ohci: Make cycleMatch ISO transmission work
2009-11-30Merge branch 'for_linus' of ↵Linus Torvalds13-16/+58
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: V4L/DVB (13372): staging/go7007: fix mutex function usage for s2250 staging/go7007: Fix compilation by re-adding the missing s2250-loader.h V4L/DVB (13530): Fix wrong parameter order in memset V4L/DVB (13481): sh_mobile_ceu_camera: fix compile warning V4L/DVB (13436): cxusb: Fix hang on DViCO FusionHDTV DVB-T Dual Digital 4 (rev 1) V4L/DVB (13412): SMS_SIANO_MDTV should depend on HAS_DMA V4L/DVB (13372a): MAINTAINERS: addition of gspca_gl860 driver V4L/DVB (13371): davinci: remove stray duplicate config pointer V4L/DVB (13366): em28xx: fix Reddo DVB-C USB TV Box GPIO V4L/DVB (13345): soc-camera: sh_mobile_ceu_camera: call pm_runtime_disable V4L/DVB (13344): soc-camera: properly initialise the device object when reusing V4L/DVB (13343): v4l: add more missing linux/sched.h includes V4L/DVB (13321): radio-gemtek-pci: fix double mutex_lock
2009-11-30Merge branch 'for-linus' of ↵Linus Torvalds9-20/+96
git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: drm/i915: Select CONFIG_SHMEM drm/i915: Fix CRT hotplug detect by checking really no channels attached agp/intel: new host bridge support drm/i915: Add more registers save/restore for Ironlake suspend drm/i915: Fix IRQ stall issue on Ironlake drm/i915: HDMI hardware workaround for Ironlake drm/i915: Fix and cleanup DPLL calculation for Ironlake drm/i915: Avoid potential sleep whilst holding spinlock
2009-11-30Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-blockLinus Torvalds1-8/+8
* 'for-linus' of git://git.kernel.dk/linux-2.6-block: cciss: make device attrs static Thaw refrigerated bdi flusher threads before invoking kthread_stop on them
2009-11-30Merge branch 'release' of ↵Linus Torvalds5-15/+53
git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: acerhdf: return temperature in milidegree instead of degree thinkpad-acpi: fix detection of old ThinkPads thinkpad-acpi: fix sign of ERESTARTSYS return ACPI: Add Thinkpad T400, T500 to OSI(Linux) white-list ACPICA: Silence the warning about _BIF returning the buffer ACPI: DMI init_set_sci_en_on_resume for HP-Compaq C700
2009-11-30Merge branch 'drm-linus' of ↵Linus Torvalds10-13/+51
git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/fb: fix FBIOGET/PUT_VSCREENINFO pixel clock handling drm: make sure page protections are updated after changing vm_flags drm/radeon/kms: Report vga connector is connected according to ddc_probe drm: mm always protect change to unused_nodes with unused_lock spinlock drm/radeon/kms: Disable TV load detect on RS400,RC410,RS480 drm/radeon/kms: read back register before writing in IIO. drm/radeon/kms: fix handling of d1/d2 vga drm: work around EDIDs with bad htotal/vtotal values drm/radeon/kms: resume AGP by calling init.
2009-11-30Merge branch 'fixes' of ↵Linus Torvalds9-23/+63
git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: shdma: fix initialization error handling ioat3: fix pq completion versus channel deallocation race async_tx: build-time toggling of async_{syndrome,xor}_val dma support dmaengine: include xor/pq validate in device_has_all_tx_types() ioat2,3: report all uncorrectable errors ioat3: specify valid address for disabled-Q or disabled-P ioat2,3: disable asynchronous error notifications ioat3: dca and raid operations are incompatible ioat: silence "dca disabled" messages
2009-11-30Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linusLinus Torvalds3-14/+43
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: Staging: octeon-ethernet: Assign proper MAC addresses. Staging: Octeon: Use symbolic values for irq numbers. MIPS: Octeon: Fix compile error in drivers/staging/octeon/ethernet-mdio.c
2009-11-30Merge branch 'upstream-linus' of ↵Linus Torvalds1-40/+44
git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: sata_fsl: Split hard and soft reset
2009-11-30V4L/DVB (13372): staging/go7007: fix mutex function usage for s2250Pete Eberlein1-2/+2
Fix mutex function usage, which was overlooked in a previous patch. Signed-off-by: Pete Eberlein <[email protected]> Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2009-11-30staging/go7007: Fix compilation by re-adding the missing s2250-loader.hMauro Carvalho Chehab1-0/+24
As pointed by Stefan Lippers-Hollmann <[email protected]>, Commit: fd9a40da1db372833e1af6397d2f6c94ceff3dad broke s2250 compilation. This patch re-adds the missing s2250-loader.h Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2009-11-30mac80211: fix spurious delBA handlingJohannes Berg1-1/+9
Lennert Buytenhek noticed that delBA handling in mac80211 was broken and has remotely triggerable problems, some of which are due to some code shuffling I did that ended up changing the order in which things were done -- this was commit d75636ef9c1af224f1097941879d5a8db7cd04e5 Author: Johannes Berg <[email protected]> Date: Tue Feb 10 21:25:53 2009 +0100 mac80211: RX aggregation: clean up stop session and other parts were already present in the original commit d92684e66091c0f0101819619b315b4bb8b5bcc5 Author: Ron Rindjunsky <[email protected]> Date: Mon Jan 28 14:07:22 2008 +0200 mac80211: A-MPDU Tx add delBA from recipient support The first problem is that I moved a BUG_ON before various checks -- thereby making it possible to hit. As the comment indicates, the BUG_ON can be removed since the ampdu_action callback must already exist when the state is != IDLE. The second problem isn't easily exploitable but there's a race condition due to unconditionally setting the state to OPERATIONAL when a delBA frame is received, even when no aggregation session was ever initiated. All the drivers accept stopping the session even then, but that opens a race window where crashes could happen before the driver accepts it. Right now, a WARN_ON may happen with non-HT drivers, while the race opens only for HT drivers. For this case, there are two things necessary to fix it: 1) don't process spurious delBA frames, and be more careful about the session state; don't drop the lock 2) HT drivers need to be prepared to handle a session stop even before the session was really started -- this is true for all drivers (that support aggregation) but iwlwifi which can be fixed easily. The other HT drivers (ath9k and ar9170) are behaving properly already. Reported-by: Lennert Buytenhek <[email protected]> Cc: [email protected] Signed-off-by: Johannes Berg <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2009-11-30b44: Fix wedge when using netconsole.David S. Miller1-3/+0
Fixes kernel bugzilla #14691 Due to the way netpoll works, it is perfectly legal to see NAPI already scheduled when new device events are pending in b44_interrupt(). So logging a message about it is wrong and in fact harmful. Based upon a patch by Andreas Mohr. Signed-off-by: David S. Miller <[email protected]>
2009-11-30wan: cosa: drop chan->wsem on error pathDan Carpenter1-0/+1
The other paths all drop chan->wsem. This was found by a static checker (smatch). Signed-off-by: Dan Carpenter <[email protected]> Acked-by: Jan "Yenya" Kasprzak <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-11-29ep93xx-eth: check for zero MAC address on probe, not on device openFlorian Fainelli1-9/+3
If we happen to have registered the driver without passing a MAC address, we will print a zero MAC address and register the interface with this invalid address, this is confusin. This patch moves the checking of a valid ethernet address and the generation of a random one down from the open function to the probe function. Signed-off-by: Florian Fainelli <[email protected]> Acked-by: Lennert Buytenhek <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-11-29NET: smc91x: Fix irq flagsRussell King - ARM Linux1-1/+1
smc91x.h defines SMC_IRQ_FLAGS to be -1 when it wants the interrupt flags to be taken from the resource structure. However, d280ead changed this to checking for non-zero resource flags. Unfortunately, this means that on some platforms, we end up passing '-1' to request_irq rather than the desired result. Combine the two conditions into one so that the IRQ flags are taken from the resource if either SMC_IRQ_FLAGS is -1 or the resource flags specify an interrupt trigger. This restores network on at least the Versatile platform. Signed-off-by: Russell King <[email protected]> Acked-by: Eric Miao <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-11-29smsc9420: prevent BUG() if ethtool is called with interface downSteve Glendinning1-0/+14
This patch fixes a null pointer dereference BUG() if ethtool is used on an smsc9420 interface while it is down, because the phy_dev is only allocated while the interface is up. Signed-off-by: Steve Glendinning <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-11-29r8169: restore mac addr in rtl8169_remove_one and rtl_shutdownIvan Vecera1-0/+7
The newer chipsets (all PCI-E) are known that they need full power cycle (AC or battery removal) to reset MAC address to a hardwired one. Previous patch to address this problem loads the original MAC address from EEPROM. But it brought other problem for which it is necessary to introduce a new module parameter. However, it might suffice to restore the initial MAC address before shutdown/reboot/kexec and when removing the module. Signed-off-by: Ivan Vecera <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-11-29e100: Use pci pool to work around GFP_ATOMIC order 5 memory allocation failureRoger Oksanen1-6/+11
pci_alloc_consistent uses GFP_ATOMIC allocation that may fail on some systems with limited memory (Bug #14265). pci_pool_alloc allows waiting with GFP_KERNEL. Tested-by: Karol Lewandowski <[email protected]> Signed-off-by: Roger Oksanen <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2009-11-29PM: fix irq enable/disable in runtime PM codeAlan Stern1-6/+6
This patch (as1305) fixes a bug in the irq-enable settings and removes some related overhead in the runtime PM code. In __pm_runtime_resume(), within the scope of the original spin_lock_irq(), we know that irqs are disabled. There's no reason to go through a pair of enable/disable cycles when acquiring and releasing the parent's lock. In __pm_runtime_set_status(), irqs are already disabled when the parent's lock is acquired, and they must remain disabled when it is released. Signed-off-by: Alan Stern <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2009-11-28pcmcia: rework the irq_req_t typedefDominik Brodowski51-124/+49
Most of the irq_req_t typedef'd struct can be re-worked quite easily: (1) IRQInfo2 was unused in any case, so drop it. (2) IRQInfo1 was used write-only, so drop it. (3) Instance (private data to be passed to the IRQ handler): Most PCMCIA drivers using pcmcia_request_irq() to actually register an IRQ handler set the "dev_id" to the same pointer as the "priv" pointer in struct pcmcia_device. Modify the two exceptions (ipwireless, ibmtr_cs) to also work this waym and set the IRQ handler's "dev_id" to p_dev->priv unconditionally. (4) Handler is to be of type irq_handler_t. (5) Handler != NULL already tells whether an IRQ handler is present. Therefore, we do not need the IRQ_HANDLER_PRESENT flag in irq_req_t.Attributes. CC: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] CC: [email protected] CC: Jaroslav Kysela <[email protected]> CC: Jiri Kosina <[email protected]> CC: Karsten Keil <[email protected]> for the Bluetooth parts: Acked-by: Marcel Holtmann <[email protected]> Signed-off-by: Dominik Brodowski <[email protected]>
2009-11-28pcmcia: remove deprecated handle_to_dev() macroDominik Brodowski24-28/+28
Update remaining users and remove deprecated handle_to_dev() macro CC: Harald Welte <[email protected]> CC: [email protected] CC: [email protected] CC: [email protected] Signed-off-by: Dominik Brodowski <[email protected]>
2009-11-28pcmcia: pcmcia_request_window() doesn't need a pointer to a pointerDominik Brodowski18-26/+26
pcmcia_request_window() only needs a pointer to struct pcmcia_device, not a pointer to a pointer. CC: [email protected] CC: [email protected] CC: [email protected] CC: Jiri Kosina <[email protected]> Acked-by: Karsten Keil <[email protected]> (for ISDN) Signed-off-by: Dominik Brodowski <[email protected]>
2009-11-28pcmcia: remove unused "window_t" typedefDominik Brodowski2-32/+32
Signed-off-by: Dominik Brodowski <[email protected]>
2009-11-28pcmcia: move some window-related code to pcmcia_ioctl.cDominik Brodowski3-63/+55
pcmcia_get_window() and pcmcia_get_mem_page() were only called from pcmcia_ioctl.c. Therefore, move these functions to that file, and remove the useless EXPORTs. Signed-off-by: Dominik Brodowski <[email protected]>
2009-11-28pcmcia: Change window_handle_t logic to unsigned longMagnus Damm4-34/+35
Logic changes based on top of the other patches: This set of patches changed window_handle_t from being a pointer to an unsigned long. The unsigned long is now a simple index into socket->win[]. Going from a pointer to unsigned long should leave the user space interface unchanged unless I'm mistaken. This change results in code that is less error prone and a user space interface which is much cleaner and safer. A nice side effect is that we are also are able to remove all members except one from window_t. [ [email protected]: Update to 2.6.31. Also, a plain "index" to socket->win[] does not work, as several codepaths rely on "window_handle_t" being non-zero if used. Therefore, set the window_handle_t to the socket->win[] index + 1. ] CC: [email protected] Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Dominik Brodowski <[email protected]>
2009-11-28pcmcia: Pass struct pcmcia_socket to pcmcia_get_mem_page()Magnus Damm3-2/+7
No logic changes, just pass struct pcmcia_socket to pcmcia_get_mem_page() [[email protected]: update to 2.6.31] Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Dominik Brodowski <[email protected]>
2009-11-28pcmcia: Pass struct pcmcia_device to pcmcia_map_mem_page()Magnus Damm18-24/+27
No logic changes, just pass struct pcmcia_device to pcmcia_map_mem_page() [[email protected]: update to 2.6.31] CC: [email protected] CC: [email protected] CC: [email protected] CC: Jiri Kosina <[email protected]> Acked-by: Karsten Keil <[email protected]> (for ISDN) Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Dominik Brodowski <[email protected]>
2009-11-28pcmcia: Pass struct pcmcia_device to pcmcia_release_window()Magnus Damm7-17/+18
No logic changes, just pass struct pcmcia_device to pcmcia_release_window(). [[email protected]: update to 2.6.31] CC: [email protected] CC: Jiri Kosina <[email protected]> Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Dominik Brodowski <[email protected]>
2009-11-27V4L/DVB (13530): Fix wrong parameter order in memsetAlan Cox1-1/+1
Edwin Török found the following: In function ‘memset’, inlined from ‘ir_input_init’ at drivers/media/common/ir-functions.c:67: /home/edwin/builds/linux-2.6/arch/x86/include/asm/string_64.h:61: warning: call to ‘__warn_memset_zero_len’ declared with attribute warning: memset used with constant zero length parameter; this could be due to transposed parameters memset(ir->ir_codes, sizeof(ir->ir_codes), 0); In actual practice the only caller I can find happens to already have cleared the buffer before calling ir_input_init. Signed-off-by: Alan Cox <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2009-11-27V4L/DVB (13481): sh_mobile_ceu_camera: fix compile warningHans Verkuil1-1/+0
Trivial fix for this compile warning: v4l/sh_mobile_ceu_camera.c:1789: warning: label 'exit_free_irq' defined but not used Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2009-11-27V4L/DVB (13436): cxusb: Fix hang on DViCO FusionHDTV DVB-T Dual Digital 4 ↵Robert Lowery1-1/+9
(rev 1) Address yet another regression introduced by the introduction of the zl10353 disable_i2c_gate field. djh - I unmangled the patch which apparently got screwed up in the user's email client. Signed-off-by: Robert Lowery <[email protected]> Signed-off-by: Devin Heitmueller <[email protected]> CC: [email protected] Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2009-11-27V4L/DVB (13412): SMS_SIANO_MDTV should depend on HAS_DMAGeert Uytterhoeven1-1/+1
When building for Sun 3: drivers/built-in.o: In function `smscore_unregister_device': drivers/media/dvb/siano/smscoreapi.c:723: undefined reference to `dma_free_coherent' drivers/built-in.o: In function `smscore_register_device': drivers/media/dvb/siano/smscoreapi.c:365: undefined reference to `dma_alloc_coherent' Signed-off-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2009-11-27Merge branch 'gart/fixes' into amd-iommu/2.6.33Joerg Roedel1-2/+1
2009-11-26V4L/DVB (13371): davinci: remove stray duplicate config pointerHans Verkuil1-1/+0
The vpif_config struct was renamed to vpif_display_config, but there is still a stray vpif_config *config pointer in vpif_display.c, preventing it from compiling. Remove this old duplicate pointer. Signed-off-by: Hans Verkuil <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2009-11-26V4L/DVB (13366): em28xx: fix Reddo DVB-C USB TV Box GPIOAntti Palosaari1-1/+1
Set device GPIOs only once. There is no need for .dvb_gpio to select between analog and digital because device is digital only. Signed-off-by: Antti Palosaari <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2009-11-26V4L/DVB (13345): soc-camera: sh_mobile_ceu_camera: call pm_runtime_disableKuninori Morimoto1-1/+4
pm_runtime_disable is needed if it failed or removed Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Guennadi Liakhovetski <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2009-11-26V4L/DVB (13344): soc-camera: properly initialise the device object when reusingGuennadi Liakhovetski1-5/+12
Commit ef373189f62413803b7b816c972fc154c488cdc0 "fix use-after-free Oops, resulting from a driver-core API change" fixed the Oops, but didn't correct missing device object initialisation. This patch makes unloading and reloading of soc-camera host- and client-drivers possible again. Signed-off-by: Guennadi Liakhovetski <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2009-11-26V4L/DVB (13343): v4l: add more missing linux/sched.h includesGuennadi Liakhovetski4-0/+4
Signed-off-by: Guennadi Liakhovetski <[email protected]> Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2009-11-26V4L/DVB (13321): radio-gemtek-pci: fix double mutex_lockHans Verkuil1-2/+0
Double mutexlock found by the Linux Driver Verification project and reported by Alexander Strakh. Signed-off-by: Hans Verkuil <[email protected]> CC: [email protected] Signed-off-by: Mauro Carvalho Chehab <[email protected]>
2009-11-26[SCSI] fix crash when disconnecting usb storageAlexey Kuznetsov1-1/+1
__scsi_remove_device() in scsi_forget_host() is executed out of scan_mutex and races with scsi_destroy_sdev() <- scsi_sysfs_add_devices() <- scsi_finish_async_scan(). The result is use after free and/or double free, oops. The fix is simple, move scsi_forget_host() under scan_mutex. scsi_forget_host() is just sequence of __scsi_remove_device(). All another calls of __scsi_remove_device() are made under scan_mutex. So that it is safe. Signed-off-by: Alexey Kuznetsov <[email protected]> Signed-off-by: Denis V. Lunev <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2009-11-26[SCSI] fix async scan add/remove race resulting in an oopsJames Bottomley2-50/+31
Async scanning introduced a very wide window where the SCSI device is up and running but has not yet been added to sysfs. We delay the adding until all scans have completed to retain the same ordering as sync scanning. This delay in visibility causes an oops if a device is removed before we make it visible because the SCSI removal routines have an inbuilt assumption that if a device is in SDEV_RUNNING state, it must be visible (which is not necessarily true in the async scanning case). Fix this by introducing an additional is_visible flag which we can use to condition the tear down so we do the right thing for running but not yet made visible. Reported-by: Alexey Kuznetsov <[email protected]> Signed-off-by: James Bottomley <[email protected]>