Age | Commit message (Collapse) | Author |
|
map/physmap.c tries to probe "cfi_probe", "jedec_probe" and "map_rom", but
map/Kconfig says it depends on MTD_CFI only.
This patch adds MTD_JEDECPROBE and MTD_ROM to the dependency condition.
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Josh Boyer <jwboyer@gmail.com>
|
|
Signed-off-by: Takashi YOSHII <takasi-y@ops.dti.ne.jp>
Signed-off-by: Josh Boyer <jwboyer@gmail.com>
|
|
Fix of performance and stability issues on Intel NOR chips. It fixes:
1. Very low write performance on Sibley (perf tests demonstrated write
performance less than 100Kb/sec when it should be over 400Kb/sec).
2. Low erase performance. (perf tests on Sibleuy demonstrated erase
performance 246Kb/sec when it should be over 300Kb/sec).
3. Error on JFFS2 tests with CPU loading application when MTD returns
"block erase error: (status timeout)" To fix the issue it does the
following:
1. Removes the timeout tuning from inval_cache_and_wait_for_operation.
2. Waiting conditions in inval_cache_and_wait_for_operation now is
based on timer resolution
If timeout is lower than timer resolution then we do in cycle
"Checking the status"
udelay(1);
cond_resched();
If timeout is greater than timer resolution (probably erase
operation) We do the following
sleep for half of operation timeout and do in cycle the following
"Checking the status"
sleep for timer resolution
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Alexey Korolev <akorolev@infradead.org>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
Trying to pass kernel command line arguments to block2mtd at boot-time does
not work currently. block2mtd_setup() is called so early that kmalloc()
fails nevermind being able to do open_bdev_excl() (which requires rootfs to
be mounted. This patch only saves the option string at the early boot stage,
and parses them later when block2mtd_init() is called. If open_bdev_excl()
fails, open_by_devnum(name_to_dev_t()) is tried instead, which makes it
possible to initialize the driver before rootfs has been mounted. Also gets
rid of the superfluous parse_name() that only checks if name is longer than
80 chars and copies it to a string that is not kfreed.
With this patch, I can boot statically compiled block2mtd, and mount jffs2
as rootfs (without modules or initrd), with lilo config like this:
root=/dev/mtdblock0
append="rootfstype=jffs2 block2mtd.block2mtd=/dev/hdc2,65536"
(Note that rootfstype=jffs2 is required, since the kernel only tries
filesystems without "nodev" attribute by default, and jffs is "nodev").
Compared to first version of this patch, this one does not copy the
parameters to the global buffer if init has already been called, and the
global array is marked as __initdata.
Compared to the second version of this patch, module build is fixed.
Compared to the third version of this patch, statically compiled block2mtd
driver with no boot-time parameter no longer gives spurious error 'cannot
open device ""'
Signed-off-by: Ville Herva <vherva@vianova.fi>
Acked-by: Jörn Engel <joern@wohnheim.fh-wedel.de>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
Spotted by liyu <liyu@ccoss.com.cn>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
PMC551 depends on PCI in Kconfig so there is no need to #error in code if PCI
is not set.
Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
The CNE bits are inverted on the device and writeb function is missing a
NOT operation.
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
|
|
In the case of data-pad-ecc-pad-data... layout the oob start position
has to be sizeof(data) in nand_write_oob_syndrom().
In nand_fill_oob() we need to copy to buf + buffer offset instead of
buf + write offset.
From: Vitaly Wool <vwool@ru.mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
Signed-off-by: Artem B. Bityutskiy <dedekind@infradead.org>
|
|
* master.kernel.org:/pub/scm/linux/kernel/git/davej/cpufreq:
Move workqueue exports to where the functions are defined.
[CPUFREQ] Misc cleanups in ondemand.
[CPUFREQ] Make ondemand sampling per CPU and remove the mutex usage in sampling path.
[CPUFREQ] Add queue_delayed_work_on() interface for workqueues.
[CPUFREQ] Remove slowdown from ondemand sampling path.
|
|
mthca: initialize send and receive queue locks separately
lockdep identifies a lock by the call site of its initialization. By
initializing the send and receive queue locks in mthca_wq_init() we confuse
lockdep. It warns that that the ordered acquiry of both locks in
mthca_modify_qp() is recursive acquiry of one lock:
=============================================
[ INFO: possible recursive locking detected ]
---------------------------------------------
modprobe/1192 is trying to acquire lock:
(&wq->lock){....}, at: [<f892b4db>] mthca_modify_qp+0x60/0xa7b [ib_mthca]
but task is already holding lock:
(&wq->lock){....}, at: [<f892b4ce>] mthca_modify_qp+0x53/0xa7b [ib_mthca]
Initializing the locks separately in mthca_alloc_qp_common() stops the
warning and will let lockdep enforce proper ordering on paths that acquire
both locks.
Signed-off-by: Zach Brown <zach.brown@oracle.com>
Cc: Roland Dreier <rolandd@cisco.com>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
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: (44 commits)
ACPI: remove function tracing macros from drivers/acpi/*.c
ACPI: add support for Smart Battery
ACPI: handle battery notify event on broken BIOS
ACPI: handle AC notify event on broken BIOS
ACPI: asus_acpi: add S1N WLED control
ACPI: asus_acpi: correct M6N/M6R display nodes
ACPI: asus_acpi: add S1N WLED control
ACPI: asus_acpi: rework model detection
ACPI: asus_acpi: support L5D
ACPI: asus_acpi: handle internal Bluetooth / support W5A
ACPI: asus_acpi: support A4G
ACPI: asus_acpi: support W3400N
ACPI: asus_acpi: LED display support
ACPI: asus_acpi: support A3G
ACPI: asus_acpi: misc cleanups
ACPI: video: Remove unneeded acpi_handle from driver.
ACPI: thermal: Remove unneeded acpi_handle from driver.
ACPI: power: Remove unneeded acpi_handle from driver.
ACPI: pci_root: Remove unneeded acpi_handle from driver.
ACPI: pci_link: Remove unneeded acpi_handle from driver.
...
|
|
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-serial:
[SERIAL] Ensure 8250_pci quirks are not marked __devinit
[SERIAL] Convert fifosize to an unsigned int
|
|
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] Fix lh7a40x_udc.c
[ARM] Fix warning in consistent.c
[ARM] Fix warnings in arch/arm/kernel/setup.c
[ARM] Fix ecard.c resource warnings.
[ARM] Fix ISA IRQ resources
[ARM] Fix bad asm instruction in proc-arm925.S
[ARM] More missing proc-macros.S includes
[ARM] 3708/2: fix SMP build after section ioremap changes
|
|
* git://git.infradead.org/mtd-2.6:
[JFFS2][XATTR] Fix memory leak in POSIX-ACL support
fs/jffs2/: make 2 functions static
[MTD] NAND: Fix broken sharpsl driver
[JFFS2][XATTR] Fix xd->refcnt race condition
MTD: kernel-doc fixes + additions
MTD: fix all kernel-doc warnings
[MTD] DOC: Fixup read functions and do a little cleanup
|
|
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits)
[Bluetooth] Add RFCOMM role switch support
[Bluetooth] Allow disabling of credit based flow control
[Bluetooth] Small cleanup of the L2CAP source code
[Bluetooth] Use real devices for host controllers
[Bluetooth] Add platform device for virtual and serial devices
[Bluetooth] Add automatic sniff mode support
[Bluetooth] Correct SCO buffer size on request
[Bluetooth] Add suspend/resume support to the HCI USB driver
[Bluetooth] Use raw mode for the Frontline sniffer device
[BRIDGE]: br_dump_ifinfo index fix
[ATM]: add+use poison defines
[NET]: add+use poison defines
[IOAT]: fix kernel-doc in source files
[IOAT]: fix header file kernel-doc
[TG3]: Add ipv6 TSO feature
[IPV6]: Fix ipv6 GSO payload length
[TIPC] Fixed sk_buff panic caused by tipc_link_bundle_buf (REVISED)
[NET]: Verify gso_type too in gso_segment
[IPVS]: Add sysctl documentation
[ROSE]: Try all routes when establishing a ROSE connections.
...
|
|
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (57 commits)
[SCSI] fix error handling in scsi_io_completion
[SCSI] qla1280: fix section mismatch warnings
[SCSI] mptsas: eliminate ghost devices
[SCSI] qla2xxx: make some more functions static
[SCSI] small whitespace cleanup for qlogic driver
[SCSI] mptbase: mpt_interrupt should return IRQ_NONE
[SCSI] mptsas: make two functions static
[SCSI] sg.c: Fix bad error handling in
[SCSI] 53c700: fix breakage caused by the autosense update
[SCSI] iscsi: add async notification of session events
[SCSI] iscsi: pass target nr to session creation
[SCSI] iscsi: break up session creation into two stages
[SCSI] iscsi: rm channel usage from iscsi
[SCSI] iscsi: fix session refcouting
[SCSI] iscsi: convert iscsi_tcp to new set/get param fns
[SCSI] iscsi: convert iser to new set/get param fns
[SCSI] iscsi: fixup set/get param functions
[SCSI] iscsi: add target discvery event to transport class
[SCSI] st: remove unused st_buffer.in_use
[SCSI] atp870u: reduce huge stack usage
...
|
|
* git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
kbuild: introduce utsrelease.h
kbuild: explicit turn off gcc stack-protector
|
|
=================================
[ INFO: inconsistent lock state ]
---------------------------------
inconsistent {in-hardirq-W} -> {hardirq-on-W} usage.
swapper/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
(&adapter->fsf_req_list_lock){++..}, at: [<0000000000274486>] zfcp_qdio_reqid_check+0x46/0x178
{in-hardirq-W} state was registered at:
[<000000000005fb0c>] __lock_acquire+0xad8/0xed0
[<00000000000604ae>] lock_acquire+0x9a/0xc8
[<000000000035a326>] _spin_lock+0x4e/0x68
[<0000000000274486>] zfcp_qdio_reqid_check+0x46/0x178
[<000000000027469e>] zfcp_qdio_response_handler+0xe6/0x430
[<0000000000219dd4>] tiqdio_thinint_handler+0xd20/0x213c
[<000000000020229a>] do_adapter_IO+0xb2/0xc0
[<0000000000206f32>] do_IRQ+0x136/0x16c
[<0000000000020462>] io_no_vtime+0x16/0x1c
[<0000000000019432>] cpu_idle+0x222/0x250
irq event stamp: 129220
hardirqs last enabled at (129220): [<00000000000411e6>] tasklet_hi_action+0x5a/0x19c
hardirqs last disabled at (129219): [<00000000000411c0>] tasklet_hi_action+0x34/0x19c
softirqs last enabled at (129212): [<0000000000040b62>] __do_softirq+0x13a/0x180
softirqs last disabled at (129217): [<000000000001fd58>] do_softirq+0xec/0xf0
other info that might help us debug this:
no locks held by swapper/0.
stack backtrace:
00000000012bb670 0000000000000002 0000000000000000 00000000012bb780
00000000012bb6e8 0000000000399122 0000000000399122 0000000000016b0a
0000000000000000 0000000000000000 0000000000000000 00000000004660e8
0000000000000000 000000000000000d 00000000012bb6e0 00000000012bb758
0000000000368b90 0000000000016b0a 00000000012bb6e0 00000000012bb730
Call Trace:
([<0000000000016a26>] show_trace+0x76/0xdc)
[<0000000000016b2c>] show_stack+0xa0/0xd0
[<0000000000016b8a>] dump_stack+0x2e/0x3c
[<000000000005e3da>] print_usage_bug+0x27e/0x290
[<000000000005ea9c>] mark_lock+0x6b0/0x6c0
[<000000000005f33e>] __lock_acquire+0x30a/0xed0
[<00000000000604ae>] lock_acquire+0x9a/0xc8
[<000000000035a326>] _spin_lock+0x4e/0x68
[<0000000000274486>] zfcp_qdio_reqid_check+0x46/0x178
[<000000000027469e>] zfcp_qdio_response_handler+0xe6/0x430
[<0000000000217bd2>] tiqdio_tl+0xd02/0x2120
[<000000000004123a>] tasklet_hi_action+0xae/0x19c
[<0000000000040ae4>] __do_softirq+0xbc/0x180
[<000000000001fd58>] do_softirq+0xec/0xf0
[<0000000000040c38>] irq_exit+0x90/0xa8
[<0000000000206f40>] do_IRQ+0x144/0x16c
[<0000000000020462>] io_no_vtime+0x16/0x1c
[<0000000000019432>] cpu_idle+0x222/0x250
([<0000000000019416>] cpu_idle+0x206/0x250)
[<000000000001405a>] rest_init+0x5a/0x68
[<0000000000536998>] start_kernel+0x39c/0x3dc
[<0000000000013046>] _stext+0x46/0x1000
Fix incorrect usage of fsf_req_list_lock. It's used in tasklet context
(irqs on) as well as in irq context. Therefore use the spin_lock_irqsave
variant to avoid deadlocks.
Acked-by: Andreas Herrmann <aherrman@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
=================================
[ INFO: inconsistent lock state ]
---------------------------------
inconsistent {hardirq-on-W} -> {in-hardirq-W} usage.
swapper/0 [HC1[1]:SC0[0]:HE0:SE1] takes:
(&adapter->erp_lock){+-..}, at: [<000000000026c7f8>] zfcp_erp_async_handler+0x3c/0x70
{hardirq-on-W} state was registered at:
[<000000000005f33e>] __lock_acquire+0x30a/0xed0
[<00000000000604ae>] lock_acquire+0x9a/0xc8
[<000000000035a7ae>] _write_lock+0x4e/0x68
[<000000000026d822>] zfcp_erp_adapter_strategy_generic+0x286/0xd94
[<000000000026fd72>] zfcp_erp_strategy_do_action+0x91e/0x1a94
[<0000000000271a3a>] zfcp_erp_thread+0x21a/0x1568
[<0000000000019096>] kernel_thread_starter+0x6/0xc
[<0000000000019090>] kernel_thread_starter+0x0/0xc
irq event stamp: 12078
hardirqs last enabled at (12077): [<0000000000019416>] cpu_idle+0x206/0x250
hardirqs last disabled at (12078): [<0000000000020458>] io_no_vtime+0xc/0x1c
softirqs last enabled at (12072): [<0000000000040b62>] __do_softirq+0x13a/0x180
softirqs last disabled at (12059): [<000000000001fd58>] do_softirq+0xec/0xf0
other info that might help us debug this:
no locks held by swapper/0.
stack backtrace:
00000000012bb648 0000000000000002 0000000000000000 00000000012bb758
00000000012bb6c0 0000000000399122 0000000000399122 0000000000016b0a
0000000000000000 0000000000000001 0000000000000000 00000000004660e8
0000000000000000 000000000000000d 00000000012bb6b8 00000000012bb730
0000000000368b90 0000000000016b0a 00000000012bb6b8 00000000012bb708
Call Trace:
([<0000000000016a26>] show_trace+0x76/0xdc)
[<0000000000016b2c>] show_stack+0xa0/0xd0
[<0000000000016b8a>] dump_stack+0x2e/0x3c
[<000000000005e3da>] print_usage_bug+0x27e/0x290
[<000000000005e934>] mark_lock+0x548/0x6c0
[<000000000005fb0c>] __lock_acquire+0xad8/0xed0
[<00000000000604ae>] lock_acquire+0x9a/0xc8
[<000000000035a662>] _write_lock_irqsave+0x62/0x80
[<000000000026c7f8>] zfcp_erp_async_handler+0x3c/0x70
[<0000000000279178>] zfcp_fsf_req_dispatch+0xd8/0x1fa8
[<000000000027e538>] zfcp_fsf_req_complete+0x104/0xe4c
[<0000000000274534>] zfcp_qdio_reqid_check+0xf4/0x178
[<000000000027469e>] zfcp_qdio_response_handler+0xe6/0x430
[<0000000000219dd4>] tiqdio_thinint_handler+0xd20/0x213c
[<000000000020229a>] do_adapter_IO+0xb2/0xc0
[<0000000000206f32>] do_IRQ+0x136/0x16c
[<0000000000020462>] io_no_vtime+0x16/0x1c
[<0000000000019432>] cpu_idle+0x222/0x250
([<0000000000019416>] cpu_idle+0x206/0x250)
[<000000000001405a>] rest_init+0x5a/0x68
[<0000000000536998>] start_kernel+0x39c/0x3dc
[<0000000000013046>] _stext+0x46/0x1000
Fix incorrect usage of erp_lock. Using the write_lock() variant is wrong,
since this might lead to deadlocks.
Acked-by: Andreas Herrmann <aherrman@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
This patch adds a generic Bluetooth platform device that can be used
as parent device by virtual and serial devices.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
|
|
This patch introduces a quirk that allows the drivers to tell the host
to correct the SCO buffer size values.
Signed-off-by: Olivier Galibert <galibert@pobox.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
|
|
This patch implements the suspend/resume methods for the HCI USB
driver by killing all outstanding URBs on suspend, and re-issuing
them on resume.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
|
|
The Frontline sniffer device looks like a normal H:2 Bluetooth device,
but it is not and so mark it as raw mode device.
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
|
|
ATM: add and use POISON define values.
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Fix kernel-doc warnings in drivers/dma/:
- use correct function & parameter names
- add descriptions where omitted
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Enable ipv6 TSO feature on chips that support it.
Update version to 3.61.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
drivers/dma/ioatdma.c: In function 'ioat_init_module':
drivers/dma/ioatdma.c:830: warning: control reaches end of non-void function
Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
This patch makes the needlessly global num_pages_spanned() static.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Fix sparse warning:
drivers/dma/ioatdma.c:444:32: warning: constant 0xFFFFFFFFFFFFFFC0 is so big it is unsigned long
Also needs a MAINTAINERS entry.
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
* git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
powerpc: add defconfig for Freescale MPC8349E-mITX board
powerpc: Add base support for the Freescale MPC8349E-mITX eval board
Documentation: correct values in MPC8548E SEC example node
[POWERPC] Actually copy over i8259.c to arch/ppc/syslib this time
[POWERPC] Add new interrupt mapping core and change platforms to use it
[POWERPC] Copy i8259 code back to arch/ppc
[POWERPC] New device-tree interrupt parsing code
[POWERPC] Use the genirq framework
[PATCH] genirq: Allow fasteoi handler to retrigger disabled interrupts
[POWERPC] Update the SWIM3 (powermac) floppy driver
[POWERPC] Fix error handling in detecting legacy serial ports
[POWERPC] Fix booting on Momentum "Apache" board (a Maple derivative)
[POWERPC] Fix various offb and BootX-related issues
[POWERPC] Add a default config for 32-bit CHRP machines
[POWERPC] fix implicit declaration on cell.
[POWERPC] change get_property to return void *
|
|
cleanup: remove task_t and convert all the uses to struct task_struct. I
introduced it for the scheduler anno and it was a mistake.
Conversion was mostly scripted, the result was reviewed and all
secondary whitespace and style impact (if any) was fixed up by hand.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
nv_do_nic_poll() is called from timer softirqs, which has interrupts enabled,
but np->lock might also be taken by some other interrupt context.
The driver does disable_irq() to get around this problem, so annotate the
disable_irq()/enable_irq() calls for lockdep.
Has no effect on non-lockdep kernels.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Cc: Ayaz Abdulla <aabdulla@nvidia.com>
Cc: Manfred Spraul <manfred@colorfullife.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Someone went nuts in there.
Cc: Ayaz Abdulla <aabdulla@nvidia.com>
Cc: Manfred Spraul <manfred@colorfullife.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
On Fri, 2006-06-30 at 15:45 -0700, Miles Lane wrote:
> Okay, I rebuilt my kernel with your combo patch applied.
> Then, I inserted my US Robotics USR2210 PCMCIA wifi card,
> ran "pccardutil eject", popped out the card and then inserted
> a Compaq iPaq wifi card. This triggered the following.
>
> [ INFO: possible circular locking dependency detected ]
> -------------------------------------------------------
> syslogd/1886 is trying to acquire lock:
> (&dev->queue_lock){-+..}, at: [<c11a50b5>] dev_queue_xmit+0x120/0x24b
>
> but task is already holding lock:
> (&dev->_xmit_lock){-+..}, at: [<c11a5118>] dev_queue_xmit+0x183/0x24b
>
> which lock already depends on the new lock.
ok this appears to be hostap playing games... it has 2 network devices
for one piece of hardware and one calls the other via the networking
layer; there is thankfully a natural ordering between the two, so just
making the slave one a separate type ought to make this work.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
lockdep needs to have the waitqueue lock initialized for on-stack
waitqueues implicitly initialized by DECLARE_COMPLETION().
Annotate mmc_wait_for_req()'s on-stack completion accordingly.
Has no effect on non-lockdep kernels.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Teach special (recursive) locking code to the lock validator.
Effects on non-lockdep kernels:
- the introduction of the following function variants:
extern struct block_device *open_partition_by_devnum(dev_t, unsigned);
extern int blkdev_put_partition(struct block_device *);
static int
blkdev_get_whole(struct block_device *bdev, mode_t mode, unsigned flags);
which on non-lockdep are the same as open_by_devnum(), blkdev_put()
and blkdev_get().
- a subclass parameter to do_open(). [unused on non-lockdep]
- a subclass parameter to __blkdev_put(), which is a new internal
function for the main blkdev_put*() functions. [parameter unused
on non-lockdep kernels, except for two sanity check WARN_ON()s]
these functions carry no semantical difference - they only express
object dependencies towards the lockdep subsystem.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Cc: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Annotate the qeth driver which uses a private skb-queue-head that is safely
used in hardirq context too.
Has no effect on non-lockdep kernels.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
lockdep needs to have the waitqueue lock initialized for on-stack waitqueues
implicitly initialized by DECLARE_COMPLETION(). Annotate on-stack completions
accordingly.
Has no effect on non-lockdep kernels.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Make use of local_irq_enable_in_hardirq() API to annotate places that enable
hardirqs in hardirq context.
Has no effect on non-lockdep kernels.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
3c59x.c's vortex_timer() function knows that vp->lock can only be used by an
irq context that it disabled - and can hence take the vp->lock without
disabling hardirqs. Teach lockdep about this.
Has no effect on non-lockdep kernels.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
8390.c knows that ei_local->page_lock can only be used by an irq context that
it disabled - and can hence take the ->page_lock without disabling hardirqs.
Teach lockdep about this.
Has no effect on non-lockdep kernels.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
In usbfs's fs_remove_file() function, the aim is to remove a file or
directory from usbfs. This is done by first taking the i_mutex of the
parent directory of this file/dir via
mutex_lock(&parent->d_inode->i_mutex);
and then to call either usbfs_rmdir() for a directory or usbfs_unlink()
for a file. Both these functions then take the i_mutex for the
to-be-removed object themselves:
mutex_lock(&inode->i_mutex);
This is a classical parent->child locking order relationship that the VFS uses
all over the place; the VFS locking rule is "you need to take the parent
first". This patch annotates the usbfs code to make this explicit and thus
informs the lockdep code that those two locks indeed have this relationship.
The rules for unlink that we already use in the VFS for unlink are to use
I_MUTEX_PARENT for the parent directory, and a normal mutex for the file
itself; this patch follows that convention.
Has no effect on non-lockdep kernels.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
ieee1394 reuses the skb infrastructure of the networking code, and uses two
skb-head queues: ->pending_packet_queue and hpsbpkt_queue. The latter is used
in the usual fashion: processed from a kernel thread. The other one,
->pending_packet_queue is also processed from hardirq context (f.e. in
hpsb_bus_reset()), which is not what the networking code usually does (which
completes from softirq or process context). This locking assymetry can be
totally correct if done carefully, but it can also be dangerous if networking
helper functions are reused, which could assume traditional networking use.
It would probably be more robust to push this completion into a workqueue -
but technically the code can be 100% correct, and lockdep has to be taught
about it. The solution is to split the ->pending_packet_queue skb-head->lock
class from the networking lock-class by using a private lock-validator key.
Has no effect on non-lockdep kernels.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: Jody McIntyre <scjody@modernduck.com>
Cc: Ben Collins <bcollins@debian.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
The PS/2 code has a natural device order and there is a one level recursion in
this device order in terms of the cmd_mutex; annotate this explicit recursion
as ok.
Has no effect on non-lockdep kernels.
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Cc: Dmitry Torokhov <dtor_core@ameritech.net>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Teach special (recursive) locking code to the lock validator. Has no effect
on non-lockdep kernels.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Teach special (dual-initialized) locking code to the lock validator. Has no
effect on non-lockdep kernels.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Machine checks on s390 are always enabled (except in the machine check handler
itself). Therefore use lockdep_off()/on() in the machine check handler to
avoid deadlocks in the lock validator.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
Print all lock-classes on SysRq-D.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|
|
irqtrace support for s390.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
|