Age | Commit message (Collapse) | Author |
|
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] 3711/1: AT91 timer update
[ARM] 3709/1: pnx4008: convert to generic irq subsystem
[ARM] 3710/1: AT91 Serial: Use GPIO API
|
|
Add the IRQ line, the tx_boundary, and whether Write-combining and MSI
are enabled to the list of parameters that are exported to ethtool.
Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
Displaying the interface name when listing the device parameters
at the end of myri10ge_probe is not a good idea since udev might
rename the interface soon afterwards.
Print the bus id instead, using dev_info().
Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
The workaround for the AER capability of the nVidia chipset has been
removed, we don't need this PCI id anymore. Drop it.
Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
The pm_state field in the myri10ge_priv structure is unused. Drop it.
Signed-off-by: Brice Goglin <brice@myri.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
Plus optical sugar.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
Remove dead entry from net wan Kconfig and net wan Makefile.. This entry is
left over from 2.4 where synclink used syncppp driver directly. synclink
drivers now use generic HDLC
Signed-off-by: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
- updated MAINTAINERS entry to new format
- updated Jan-Pascal's (ACKed) and my email address
- driver cleanup/modernization (runtime-, not hardware-tested)
[bunk@stusta.de: build fix]
Signed-off-by: Andreas Mohr <andi@lisas.de>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Jan-Pascal van Best <jvbest@qv3pluto.leidenuniv.nl>
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
Barry K. Nathan reported the following lockdep warning:
[ 197.343948] BUG: warning at kernel/lockdep.c:1856/trace_hardirqs_on()
[ 197.345928] [<c010329b>] show_trace_log_lvl+0x5b/0x105
[ 197.346359] [<c0103896>] show_trace+0x1b/0x20
[ 197.346759] [<c01038ed>] dump_stack+0x1f/0x24
[ 197.347159] [<c012efa2>] trace_hardirqs_on+0xfb/0x185
[ 197.348873] [<c029b009>] _spin_unlock_irq+0x24/0x2d
[ 197.350620] [<e09034e8>] do_tx_done+0x171/0x179 [ns83820]
[ 197.350895] [<e090445c>] ns83820_irq+0x149/0x20b [ns83820]
[ 197.351166] [<c013b4b8>] handle_IRQ_event+0x1d/0x52
[ 197.353216] [<c013c6c2>] handle_level_irq+0x97/0xe1
[ 197.355157] [<c01048c3>] do_IRQ+0x8b/0xac
[ 197.355612] [<c0102d9d>] common_interrupt+0x25/0x2c
this is caused because the ns83820 driver re-enables irq flags
in hardirq context.
While legal in theory, in practice it should only be done if the
hardware is really old and has some very high overhead in its ISR.
(such as PIO IDE)
For modern hardware, running ISRs with irqs enabled is discouraged,
because 1) new hardware is fast enough to not cause latency problems
2) allowing the nesting of hardware interrupts only 'spreads out'
the handling of the current ISR, causing extra cachemisses that would
otherwise not happen. Furthermore, on architectures where ISRs share
the kernel stacks, enabling interrupts in ISRs introduces a much
higher kernel-stack-nesting and thus kernel-stack-overflow risk.
3) not managing irq-flags via the _irqsave / _irqrestore variants
is dangerous: it's easy to forget whether one function nests inside
another, and irq flags might be mismanaged.
In the few cases where re-enabling interrupts in an ISR is considered
useful (and unavoidable), it has to be taught to the lock validator
explicitly (because the lock validator needs the "no ISR ever enables
hardirqs" artificial simplification to keep the IRQ/softirq locking
dependencies manageable).
This teaching is done via the explicit use local_irq_enable_in_hardirq().
On a stock kernel this maps to local_irq_enable(). If the lock validator
is enabled then this does not enable interrupts.
Now, the analysis of drivers/net/ns83820.c's irq flags use: the
irq-enabling in irq context seems intentional, but i dont think it's
justified. Furthermore, the driver suffers from problem #3 above too,
in ns83820_tx_timeout() it disables irqs via local_irq_save(), but
then it calls do_tx_done() which does a spin_unlock_irq(),
re-enabling for a function that does not expect it! While currently
this bug seems harmless (only some debug printout seems to be
affected by it), it's nevertheless something to be fixed.
So this patch makes the ns83820 ISR irq-flags-safe, and cleans up
do_tx_done() use and locking to avoid the ns83820_tx_timeout() bug.
From: Arjan van de Ven <arjan@linux.intel.com>
ns83820_mib_isr takes the misc_lock in IRQ context. All other places that
do this in the ISR already use _irqsave versions, make this consistent at
least. At some point in the future someone should audit the driver to see
if all _irqsave's in the ISR can go away, this is generally an iffy/fragile
proposition though; for now get it safe, simple and consistent.
From: Arjan van de Ven <arjan@linux.intel.com>
ok this is a real driver deadlock:
The ns83820 driver enabled interrupts (by unlocking the misc_lock with
_irq) while still holding the rx_info.lock, which is required to be irq
safe since it's used in the ISR like this:
writel(1, dev->base + IER);
spin_unlock_irq(&dev->misc_lock);
kick_rx(ndev);
spin_unlock_irq(&dev->rx_info.lock);
This is can cause a deadlock if an irq was pending at the first
spin_unlock_irq already, or if one would hit during kick_rx().
Simply remove the first _irq solves this
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Benjamin LaHaise <bcrl@kvack.org>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
More cleanup to pcnet32_loopback_test to release receive buffers if
device is not up. Created common routine to free rx buffers.
Tested ia32 and ppc64
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
multicast/promisc
Suspend the chip if possible rather than stop and discard all tx and rx
frames, when changing the mcast list or entering/leaving promiscuous
mode. Created common pcnet32_suspend routine.
Tested ia32 and ppc64
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
tx/rx rings
Fix pcnet32_set_ringparam to handle memory allocation errors without
leaving the adapter in an inoperative state and null pointers waiting to
be dereferenced.
Tested ia32 and ppc64.
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
On 2006-03-08 Eric Sesterhenn wrote:
converts drivers/net to kzalloc usage.
Don Fry modified it to use netif_msg_drv. Tested ia32 and ppc64.
Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de>
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
Fix off-by-one in pcnet32_get_ringparam
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
Jon Mason wrote on Thu, 12 Jan 2006 17:07:49 -0600:
This patch adds the PCI_DEVICE macro to the pcnet32 driver.
This has been tested on my opteron with my "trident" adapter.
Don Fry modified it slightly and tested on ia32 and ppc64.
Signed-off-by: Jon Mason <jdmason@us.ibm.com>
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
Fix Section mismatch error. Tested ia32 and ppc64.
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
Add support for the Cicada 8201 PHY, a.k.a Vitesse VSC8201. This PHY is present on the MPC8349mITX.
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
This avoids some potential races.
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
There are 60+ USB wifi adapters available on the market based on the ZyDAS
ZD1211 chip.
Unlike the predecessor (ZD1201), ZD1211 does not have a hardware MAC, so most
data operations are coordinated by the device driver. The ZD1211 chip sits
alongside an RF transceiver which is also controlled by the driver. Our driver
currently supports 2 RF types, we know of one other available in a few marketed
products which we will be supporting soon.
Our driver also supports the newer revision of ZD1211, called ZD1211B. The
initialization and RF operations are slightly different for the new revision,
but the main difference is 802.11e support. Our driver does not support the
QoS features yet, but we think we know how to use them.
This driver is based on ZyDAS's own GPL driver available from www.zydas.com.tw.
ZyDAS engineers have been responsive and supportive of our efforts, so thumbs
up to them. Additionally, the firmware is redistributable and they have
provided device specs.
This driver has been written primarily by Ulrich Kunitz and myself. Graham
Gower, Greg KH, Remco and Bryan Rittmeyer have also contributed. The
developers of ieee80211 and softmac have made our lives so much easier- thanks!
We maintain a small info-page: http://zd1211.ath.cx/wiki/DriverRewrite
If there is enough time for review, we would like to aim for inclusion in
2.6.18. The driver works nicely as a STA, and can connect to both open and
encrypted networks (we are using software-based encryption for now). We will
work towards supporting more advanced features in the future (ad-hoc, master
mode, 802.11a, ...).
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
I recently patched softmac to enable shared key authentication. This small patch
will enable crazy or unfortunate bcm43xx users to use this new capability.
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
The current version of bcm43xx-softmac uses local routines to check
if a channel is valid. As noted in the comments, these routines do
not take any regulatory information into account. This patch converts
the code to use the equivalent routine in ieee80211, which is being
converted to know about regulatory information.
Signed-Off-By: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Place the Init-vs-IRQ workaround before any card register
access, because we might not have the wireless core mapped
at all times in init. So this will result in a Machine Check
caused by a bus error.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Use Softmac-suggested TX ratecode:
ieee80211softmac_suggest_txrate()
Signed-off-by: Daniel Drake <dsd@gentoo.org>
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
This patch adds device IDs for Symbol LA-4123 and Global Sun Tech
GL24110P to the HostAP PLX driver.
This is not tested with real hardware, but there is no reason why it
shouldn't work.
Please test.
Signed-off-by: Faidon Liambotis <faidon@cube.gr>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
|
|
Suggested by Jiri Slaby.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
For messages prior to register_netdev(), prefer dev_printk() because
that prints out both our driver name and our [PCI | whatever] bus id.
Updates: 8139{cp,too}, b44, bnx2, cassini, {eepro,epic}100, fealnx,
hamachi, ne2k-pci, ns83820, pci-skeleton, r8169.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
Replace io_size struct members with VELOCITY_IO_SIZE constant.
Also, constify chip_info_table[].
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
- const-ify pci_device_id table
- clean up pci_device_id table with PCI_DEVICE()
- don't store internal pointer in pci_device_id table,
use pci_device_id::driver_data as an integer index
- use dev_printk() for messages where eth%d prefix is unavailable
- formatting fixes
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
- fealnx: convert #define to enum
- fealnx, sundance: mark chip info table __devinitdata
- fealnx: use dev_printk() during probe
- fealnx: formatting cleanups
- starfire: remove obsolete comment
- sundance, via-rhine: add some whitespace where useful, in tables
- sundance: prefer "{ }" table terminator
- via-rhine: mark PCI probe table const
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
Becker-derived drivers often have the 'io_size' member in their chip
info struct, indicating the minimum required size of the I/O resource
(usually a PCI BAR). For many situations, this number is either
constant or irrelevant (due to pci_iomap convenience behavior).
This change removes the io_size invariant member, and replaces it with a
compile-time constant.
Drivers updated: fealnx, gt96100eth, winbond-840, yellowfin
Additionally,
- gt96100eth: unused 'drv_flags' removed from gt96100eth
- winbond-840: unused struct match_info removed
- winbond-840: mark pci_id_tbl[] const, __devinitdata
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
When in-kernel net drivers branched from Donald Becker's vanilla driver
set, in the days before BitKeeper and git, a driver changelog was
maintained in the driver source code. These days, the kernel's
changelog is far superior and much more accurate, so the in-driver
changelogs are removed.
Another relic of the Becker/kernel split was version numbering, using
"foo-LKx.y.z" notation, resulting in weird version numbers like
"1.17b-LK1.1.9". These drivers are for older hardware, and see few
changes these days, so the version numbers were all bumped to something
more simple.
Finally, in xircom_tulip_cb specifically, an additional cleanup removes
the always-enabled CARDBUS cpp macro.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
- Remove in-source changelog, it's in the global kernel history.
- convert silly and useless version to useful one
- replace invariant pci_id_tbl[]::io_size uses with EPIC_TOTAL_SIZE
- remove now-unused io_size member from pci_id_tbl[]
- current kernel style prefers dev_printk() for the rare ethernet driver
messages that cannot print an 'eth%d' prefix.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
|
|
Patch from Andrew Victor
The AT91RM9200 errata work-around should be using the GPIO API and not
accessing the PIO registers directly.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
|
|
* 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>
|