summaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
* Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6Linus Torvalds2006-12-0229-442/+798
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/gregkh/driver-2.6: (36 commits) Driver core: show drivers in /sys/module/ Documentation/driver-model/platform.txt update/rewrite Driver core: platform_driver_probe(), can save codespace driver core: Use klist_remove() in device_move() driver core: Introduce device_move(): move a device to a new parent. Driver core: make drivers/base/core.c:setup_parent() static driver core: Introduce device_find_child(). sysfs: sysfs_write_file() writes zero terminated data cpu topology: consider sysfs_create_group return value Driver core: Call platform_notify_remove later ACPI: Change ACPI to use dev_archdata instead of firmware_data Driver core: add dev_archdata to struct device Driver core: convert sound core to use struct device Driver core: change mem class_devices to be real devices Driver core: convert fb code to use struct device Driver core: convert firmware code to use struct device Driver core: convert mmc code to use struct device Driver core: convert ppdev code to use struct device Driver core: convert PPP code to use struct device Driver core: convert cpuid code to use struct device ...
| * Driver core: platform_driver_probe(), can save codespaceDavid Brownell2006-12-011-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This defines a new platform_driver_probe() method allowing the driver's probe() method, and its support code+data, to safely live in __init sections for typical system configurations. Many system-on-chip processors could benefit from this API, to the tune of recovering hundreds to thousands of bytes per driver. That's memory which is currently wasted holding code which can never be called after system startup, yet can not be removed. It can't be removed because of the linkage requirement that pointers to init section code (like, ideally, probe support) must not live in other sections (like driver method tables) after those pointers would be invalid. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * driver core: Use klist_remove() in device_move()Cornelia Huck2006-12-011-2/+2
| | | | | | | | | | | | | | | | | | | | As pointed out by Alan Stern, device_move needs to use klist_remove which waits until removal is complete. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Cc: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * driver core: Introduce device_move(): move a device to a new parent.Cornelia Huck2006-12-011-0/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide a function device_move() to move a device to a new parent device. Add auxilliary functions kobject_move() and sysfs_move_dir(). kobject_move() generates a new uevent of type KOBJ_MOVE, containing the previous path (DEVPATH_OLD) in addition to the usual values. For this, a new interface kobject_uevent_env() is created that allows to add further environmental data to the uevent at the kobject layer. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Acked-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: make drivers/base/core.c:setup_parent() staticAdrian Bunk2006-12-011-2/+2
| | | | | | | | | | | | | | | | This patch makes the needlessly global setup_parent() static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * driver core: Introduce device_find_child().Cornelia Huck2006-12-011-0/+33
| | | | | | | | | | | | | | | | Introduce device_find_child() to match device_for_each_child(). Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * cpu topology: consider sysfs_create_group return valueHeiko Carstens2006-12-011-23/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Take return value of sysfs_create_group() into account. That function got called in case of CPU_ONLINE notification. Since callbacks are not allowed to fail on CPU_ONLINE notification do the sysfs group creation on CPU_UP_PREPARE notification. Also remember if creation succeeded in a bitmask. So it's possible to know whether it's legal to call sysfs_remove_group or not. In addition some other minor stuff: - since CPU_UP_PREPARE might fail add CPU_UP_CANCELED handling as well. - use hotcpu_notifier instead of register_hotcpu_notifier. - #ifdef code that isn't needed in the !CONFIG_HOTPLUG_CPU case. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: Call platform_notify_remove laterBenjamin Herrenschmidt2006-12-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the call to platform_notify_remove() to after the call to bus_remove_device(), where it belongs. It's bogus to notify the platform of removal while drivers are still attached to the device and possibly still operating since the platform might use this callback to tear down some resources used by the driver (ACPI bits, iommu table, ...) Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: "Brown, Len" <len.brown@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * ACPI: Change ACPI to use dev_archdata instead of firmware_dataBenjamin Herrenschmidt2006-12-011-9/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change ACPI to use dev_archdata instead of firmware_data This patch changes ACPI to use the new dev_archdata on i386, x86_64 and ia64 (is there any other arch using ACPI ?) to store it's acpi_handle. It also removes the firmware_data field from struct device as this was the only user. Only build-tested on x86 Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Len Brown <lenb@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: change mem class_devices to be real devicesGreg Kroah-Hartman2006-12-011-4/+4
| | | | | | | | | | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: convert fb code to use struct deviceGreg Kroah-Hartman2006-12-012-80/+99
| | | | | | | | | | | | | | | | | | Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: convert firmware code to use struct deviceGreg Kroah-Hartman2006-12-011-62/+57Star
| | | | | | | | | | | | | | | | | | Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: convert mmc code to use struct deviceGreg Kroah-Hartman2006-12-013-15/+15
| | | | | | | | | | | | | | | | | | Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: convert ppdev code to use struct deviceGreg Kroah-Hartman2006-12-011-3/+3
| | | | | | | | | | | | | | | | | | Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: convert PPP code to use struct deviceGreg Kroah-Hartman2006-12-011-2/+2
| | | | | | | | | | | | | | | | | | Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * I2C: convert i2c-dev to use struct device instead of struct class_deviceGreg Kroah-Hartman2006-12-011-13/+13
| | | | | | | | | | | | | | | | As class_device is going away eventually... Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: convert raw device code to use struct deviceGreg Kroah-Hartman2006-12-011-6/+6
| | | | | | | | | | | | | | | | | | Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: convert tty core to use struct deviceGreg Kroah-Hartman2006-12-015-25/+27
| | | | | | | | | | | | | | | | | | | | | | | | Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Also fixes up the isdn drivers that were putting something in the class device's directory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: change misc class_devices to be real devicesGreg Kroah-Hartman2006-12-014-30/+25Star
| | | | | | | | | | | | | | | | This also ment that some of the misc drivers had to also be fixed up as they were assuming the device was a class_device. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: convert vc code to use struct deviceGreg Kroah-Hartman2006-12-011-8/+8
| | | | | | | | | | | | | | | | | | Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: convert vt code to use struct deviceGreg Kroah-Hartman2006-12-011-42/+39Star
| | | | | | | | | | | | | | | | | | Converts from using struct "class_device" to "struct device" making everything show up properly in /sys/devices/ with symlinks from the /sys/class directory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * CONFIG_SYSFS_DEPRECATED - class symlinksKay Sievers2006-12-011-51/+98
| | | | | | | | | | | | | | | | Turn off class symlinks CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * CONFIG_SYSFS_DEPRECATED - PHYSDEV* uevent variablesKay Sievers2006-12-011-0/+4
| | | | | | | | | | | | | | | | | | Disable the PHYSDEV* uevent variables if CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * CONFIG_SYSFS_DEPRECATED - device symlinksKay Sievers2006-12-011-4/+14
| | | | | | | | | | | | | | | | Turn off device symlinks CONFIG_SYSFS_DEPRECATED is enabled. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * CONFIG_SYSFS_DEPRECATED - bus symlinksKay Sievers2006-12-011-3/+17
| | | | | | | | | | | | | | | | Turn off the bus symlinks if CONFIG_SYSFS_DEPRECATED is enabled Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: make old versions of udev work properlyGreg Kroah-Hartman2006-12-011-14/+45
| | | | | | | | | | | | | | | | | | If CONFIG_SYSFS_DEPRECATED is enabled, old versions of udev will work properly with devices that are associated with a class. Cc: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver Core: Move virtual_device_parent() to core.cGreg Kroah-Hartman2006-12-012-17/+17
| | | | | | | | | | | | | | | | | | It doesn't need to be global or in device.h Cc: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: fix "driver" symlink timingKay Sievers2006-12-011-30/+52
| | | | | | | | | | | | | | | | | | | | | | Create the "driver" link before the child device may be created by the probing logic. This makes it possible for userspace (udev), to determine the driver property of the parent device, at the time the child device is created. Signed-off-by: Kay Sievers <kay.sievers@novell.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * Driver core: add notification of bus eventsBenjamin Herrenschmidt2006-12-013-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I finally did as you suggested and added the notifier to the struct bus_type itself. There are still problems to be expected is something attaches to a bus type where the code can hook in different struct device sub-classes (which is imho a big bogosity but I won't even try to argue that case now) but it will solve nicely a number of issues I've had so far. That also means that clients interested in registering for such notifications have to do it before devices are added and after bus types are registered. Fortunately, most bus types that matter for the various usage scenarios I have in mind are registerd at postcore_initcall time, which means I have a really nice spot at arch_initcall time to add my notifiers. There are 4 notifications provided. Device being added (before hooked to the bus) and removed (failure of previous case or after being unhooked from the bus), along with driver being bound to a device and about to be unbound. The usage I have for these are: - The 2 first ones are used to maintain a struct device_ext that is hooked to struct device.firmware_data. This structure contains for now a pointer to the Open Firmware node related to the device (if any), the NUMA node ID (for quick access to it) and the DMA operations pointers & iommu table instance for DMA to/from this device. For bus types I own (like IBM VIO or EBUS), I just maintain that structure directly from the bus code when creating the devices. But for bus types managed by generic code like PCI or platform (actually, of_platform which is a variation of platform linked to Open Firmware device-tree), I need this notifier. - The other two ones have a completely different usage scenario. I have cases where multiple devices and their drivers depend on each other. For example, the IBM EMAC network driver needs to attach to a MAL DMA engine which is a separate device, and a PHY interface which is also a separate device. They are all of_platform_device's (well, about to be with my upcoming patches) but there is no say in what precise order the core will "probe" them and instanciate the various modules. The solution I found for that is to have the drivers for emac to use multithread_probe, and wait for a driver to be bound to the target MAL and PHY control devices (the device-tree contains reference to the MAL and PHY interface nodes, which I can then match to of_platform_devices). Right now, I've been polling, but with that notifier, I can more cleanly wait (with a timeout of course). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivialLinus Torvalds2006-12-0237-71/+69Star
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: Fix typos in drivers/isdn/hisax/isdnl2.c Fix typos in doc and comments BUG_ON conversion for fs/aio.c BUG_ON conversion for drivers/mmc/omap.c BUG_ON conversion for drivers/media/video/pwc/pwc-if.c Fix misc .c/.h comment typos Fix misc Kconfig typos Fix typos in /Documentation : Misc Fix typos in /Documentation : 'U-Z' Fix typos in /Documentation : 'T'' Fix jiffies.h comment tabify MAINTAINERS fix spelling error in include/linux/kernel.h mqueue.h: don't include linux/types.h
| * | Fix typos in drivers/isdn/hisax/isdnl2.cJan Engelhardt2006-11-301-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes persistant -> persistent in actual C code. (part 1 changed docs/comments). Compile-tested. Signed-off-by: Jan Engelhardt <jengelh@gmx.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
| * | Fix typos in doc and commentsJan Engelhardt2006-11-303-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Changes persistant -> persistent. www.dictionary.com does not know persistant (with an A), but should it be one of those things you can spell in more than one correct way, let me know. Signed-off-by: Jan Engelhardt <jengelh@gmx.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
| * | BUG_ON conversion for drivers/mmc/omap.cEric Sesterhenn2006-11-301-2/+1Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch converts a if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
| * | BUG_ON conversion for drivers/media/video/pwc/pwc-if.cEric Sesterhenn2006-11-301-2/+1Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch converts a if () BUG(); construct to BUG_ON(); which occupies less space, uses unlikely and is safer when BUG() is disabled. Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Signed-off-by: Adrian Bunk <bunk@stusta.de>
| * | Fix misc .c/.h comment typosMatt LaPlante2006-11-3024-44/+44
| | | | | | | | | | | | | | | | | | | | | Fix various .c/.h typos in comments (no code changes). Signed-off-by: Matt LaPlante <kernel1@cyberdogtech.com> Signed-off-by: Adrian Bunk <bunk@stusta.de>
| * | Fix misc Kconfig typosMatt LaPlante2006-11-308-10/+10
| |/ | | | | | | | | | | | | | | Fix various Kconfig typos. Signed-off-by: Matt LaPlante <kernel1@cyberdogtech.com> Acked-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Adrian Bunk <bunk@stusta.de>
* / [PATCH] block: support larger block pc requestsMike Christie2006-12-011-4/+2Star
|/ | | | | | | | This patch modifies blk_rq_map/unmap_user() and the cdrom and scsi_ioctl.c users so that it supports requests larger than bio by chaining them together. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
* [PATCH] r8169: Fix iteration variable signFrancois Romieu2006-11-291-2/+2
| | | | | | | | | | | This changes the type of variable "i" in rtl8169_init_one() from "unsigned int" to "int". "i" is checked for < 0 later, which can never happen for "unsigned". This results in broken error handling. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge branch 'upstream-linus' of ↵Linus Torvalds2006-11-292-8/+24
|\ | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: [PATCH] libata: Fixup ata_sas_queuecmd to handle __ata_scsi_queuecmd failure [PATCH] ahci: AHCI mode SATA patch for Intel ICH9 [PATCH] libata: don't schedule EH on wcache on/off if old EH
| * [PATCH] libata: Fixup ata_sas_queuecmd to handle __ata_scsi_queuecmd failureBrian King2006-11-281-3/+6
| | | | | | | | | | | | | | | | Fixes ata_sas_queuecmd to properly handle a failure from __ata_scsi_queuecmd. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] ahci: AHCI mode SATA patch for Intel ICH9Jason Gaston2006-11-281-0/+11
| | | | | | | | | | | | | | This patch adds the Intel ICH9 AHCI controller DID's for SATA support. Signed-off-by: Jason Gaston <jason.d.gaston@intel.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] libata: don't schedule EH on wcache on/off if old EHTejun Heo2006-11-281-5/+7
| | | | | | | | | | | | | | | | | | | | Do not schedule EH for revalidation on wcache on/off if old EH. Old EH cannot handle it and will result in WARN_ON()'s and oops. This closes bug #7412. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | [PATCH] Fix Intel/Sharp command set erase suspend bugJoakim Tjernlund2006-11-291-1/+1
|/ | | | | | | | | | When we sleep and wait for a suspended operation to be resumed, go back and check until it's ready -- don't just continue after the first time we're woken. This can cause file system corruption. Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund@transmode.se> Signed-off-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds2006-11-261-1/+1
|\ | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: [XFRM] STATE: Fix to respond error to get operation if no matching entry exists. [NET]: Re-fix of doc-comment in sock.h [6PACK]: Masking bug in 6pack driver. [NET]: Fix kfifo_alloc() error check. [UDP]: Make udp_encap_rcv use pskb_may_pull [NETFILTER]: H.323 conntrack: fix crash with CONFIG_IP_NF_CT_ACCT
| * [6PACK]: Masking bug in 6pack driver.Jean Delvare2006-11-261-1/+1
| | | | | | | | | | | | | | | | | | Looks like a broken masking to me, binary not is used where bitwise not was intended. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | V4L/DVB (4874): Fix oops on symbol rate==0Andrew de Quincey2006-11-261-0/+4
| | | | | | | | | | | | | | | | The tda10086 causes an oops (divide by zero) if a zero symbol rate is used; this prevents this. Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* | V4L/DVB (4885): Improve saa711x checkHans Verkuil2006-11-261-2/+7
| | | | | | | | | | | | | | | | | | | | The old code would accept any device on the same i2c address as the saa711x chips as an saa711x. However, this fails with saa717x chips, which use that same address and so are misdetected as a saa7111. Now check whether the chip is really a saa711x model. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* | V4L/DVB (4865): Fix: Slot 0 not NULL on disconnecting SN9C10x PC CameraLuca Risolia2006-11-262-4/+2Star
| | | | | | | | | | | | | | The patch fix bug 5748. Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* | V4L/DVB (4849): Add missing spin_unlock to saa6588 decoder driverIra Snyder2006-11-261-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Sparse noticed a lock imbalance in read_from_buf(). Further inspection shows that the lock should not be held when the function exits. This adds a spin_unlock_irqrestore(), so that every exit path of the read_from_buf() function is consistent. The unlock was missing on an error path. Signed-off-by: Ira W. Snyder <devel@irasnyder.com> Signed-off-by: Hans J. Koch <koch@hjk-az.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
* | V4L/DVB (4832): Fix uninitialised variable in dvb_frontend_swzigzagAndrew de Quincey2006-11-261-1/+1
| | | | | | | | | | | | | | Spotted by coverity/Adrian Bunk. Signed-off-by: Andrew de Quincey <adq_dvb@lidskialf.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>