21 Sep, 2008
1 commit
-
This fixes the problem of incoming BMA responses being dropped due to
a bad "is response" check. Fix the test to use the ib_response_mad()
predicate, which correctly handles BMA MADs.This fixes .
Signed-off-by: Michael Brooks
Acked-by: Sean Hefty
Signed-off-by: Roland Dreier
20 Sep, 2008
5 commits
-
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
[S390] cio: fix orb initialization in cio_start_key
[S390] cio: Fix driver_data handling for ccwgroup devices. -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
IPoIB: Fix deadlock on RTNL between bcast join comp and ipoib_stop()
RDMA/nes: Fix client side QP destroy
IB/mlx4: Fix up fast register page list format
mlx4_core: Set RAE and init mtt_sz field in FRMR MPT entries -
…el/git/tip/linux-2.6-tip
* 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
clockevents: make device shutdown robust
clocksource, acpi_pm.c: fix check for monotonicity
clockevents: remove WARN_ON which was used to gather information -
* 'for-linus' of git://neil.brown.name/md:
md: Don't wait UNINTERRUPTIBLE for other resync to finish -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
e100: Use pci_pme_active to clear PME_Status and disable PME#
e1000: prevent corruption of EEPROM/NVM
forcedeth: call restore mac addr in nv_shutdown path
bnx2: Promote vector field in bnx2_irq structure from u16 to unsigned int
sctp: Fix oops when INIT-ACK indicates that peer doesn't support AUTH
sctp: do not enable peer features if we can't do them.
sctp: set the skb->ip_summed correctly when sending over loopback.
udp: Fix rcv socket locking
19 Sep, 2008
5 commits
-
When two md arrays share some block device (e.g each uses different
partitions on the one device), a resync of one array will wait for
the resync on the other to finish.This can be a long time and as it currently waits TASK_UNINTERRUPTIBLE,
the softlockup code notices and complains.So use TASK_INTERRUPTIBLE instead and make sure to flush signals
before calling schedule.Signed-off-by: NeilBrown
-
Currently e100 uses pci_enable_wake() to clear pending wake-up events
and disable PME# during intitialization, but that function is not
suitable for this purpose, because it immediately returns error code
if device_may_wakeup() returns false for given device.Make e100 use pci_pme_active(), which carries out exactly the
required operations, instead.Signed-off-by: Rafael J. Wysocki
Signed-off-by: Jeff Garzik -
Andrey reports e1000 corruption, and that a patch in vmware's ESX fixed
it.The EEPROM corruption is triggered by concurrent access of the EEPROM
read/write. Putting a lock around it solve the problem.[akpm@linux-foundation.org: use DEFINE_SPINLOCK to avoid confusing lockdep]
Signed-off-by: Christopher Li
Reported-by: Andrey Borzenkov
Cc: Zach Amsden
Cc: Pratap Subrahmanyam
Cc: Jeff Kirsher
Cc: Jesse Brandeburg
Cc: Bruce Allan
Cc: PJ Waskiewicz
Cc: John Ronciak
Cc: Jeff Garzik
Signed-off-by: Andrew Morton
Signed-off-by: Jeff Garzik -
after
| commit f735a2a1a4f2a0f5cd823ce323e82675990469e2
| Author: Tobias Diedrich
| Date: Sun May 18 15:02:37 2008 +0200
|
| [netdrvr] forcedeth: setup wake-on-lan before shutting down
|
| When hibernating in 'shutdown' mode, after saving the image the suspend hook
| is not called again.
| However, if the device is in promiscous mode, wake-on-lan will not work.
| This adds a shutdown hook to setup wake-on-lan before the final shutdown.
|
| Signed-off-by: Tobias Diedrich
| Signed-off-by: Jeff Garzikmy servers with nvidia ck804 and mcp55 will reverse mac address with kexec.
it turns out that we need to restore the mac addr in nv_shutdown().
[akpm@linux-foundation.org: fix typo in printk]
Signed-off-by: Yinghai Lu
Cc: Tobias Diedrich
Cc: Ayaz Abdulla
Cc: Jeff Garzik
Cc: "Rafael J. Wysocki"
Signed-off-by: Andrew Morton
Signed-off-by: Jeff Garzik -
The bnx2 driver stores/uses the irq value from the pci_dev internally.
But when it stores the irq value, it has been performing an
integer demotion. Because of the recent changes made to
arch/x86/kernel/io_apic.c, the new method in creating the irq value
(using build_irq_for_pci_dev()) has exposed this bug on x86 systems.Because of this demotion when calling request_irq() from
bnx2_request_irq(), the driver would get a return code of -EINVAL.
This is because the kernel could not find the requested irq descriptor.
By storing the irq value properly, the kernel can find the correct
irq descriptor and the bnx2 driver can operate normally.Signed-off-by: Benjamin Li
Signed-off-by: Michael Chan
Signed-off-by: David S. Miller
17 Sep, 2008
7 commits
-
This fixes kernel regression for 2.6.27-rc in
http://bugzilla.kernel.org/show_bug.cgi?id=11547
The change to split 8390 into old isa and non-isa versions
overlooked this driver.Signed-off-by: Stephen Hemminger
Signed-off-by: Linus Torvalds -
This reverts commit bc19d6e0b74ef03a3baf035412c95192b54dfc6f, which as
Larry Finger reports causes the radio LED on his system to no longer
respond to rfkill switch events.Reported-by: Larry Finger
Requested-by: John W. Linville
Signed-off-by: Linus Torvalds -
Taking rtnl_lock in ipoib_mcast_join_complete() causes a deadlock with
ipoib_stop(). We avoid it by scheduling the piece of code that takes
the lock on ipoib_workqueue instead of executing it directly. This
works because we only flush the ipoib_workqueue with the RTNL not held.The deadlock happens because ipoib_stop() calls ipoib_ib_dev_down()
which calls ipoib_mcast_dev_flush(), which calls ipoib_mcast_free(),
which calls ipoib_mcast_leave(). The latter calls
ib_sa_free_multicast(), and this waits until the multicast completion
handler finishes. This handler is ipoib_mcast_join_complete(), which
waits for the rtnl_lock(), which was already taken by ipoib_stop().This bug was introduced in commit a77a57a1 ("IPoIB: Fix deadlock on
RTNL in ipoib_stop()").Signed-off-by: Yossi Etigin
Signed-off-by: Roland Dreier -
Fix QP not being destroyed properly on the client, which leads to
userspace programs hanging on exit. This is a missing chunk from the
connection management rewrite in commit 6492cdf3 ("RDMA/nes: CM
connection setup/teardown rework").Signed-off-by: Faisal Latif
Signed-off-by: Roland Dreier -
The functions cio_tm_start_key and cio_start_key use the same private
orb structure of a subchannel, so the orb needs to be cleared of old
data before it is used again. A respective memset is missing from
cio_start_key and hereby added.Signed-off-by: Stefan Weinhuber
Acked-by: Cornelia Huck
Signed-off-by: Martin Schwidefsky -
Since 16f7f9564c3ae190954f2ec55f385a268b93ac4d, we've seen
oopses when grouping/ungrouping devices:Unable to handle kernel pointer dereference at virtual kernel address 0000000000
114000
Oops: 0004 [#1] PREEMPT SMP
Modules linked in: bonding qeth_l2 dm_multipath sunrpc qeth_l3 dm_mod qeth chsc_
sch ccwgroup
CPU: 1 Not tainted 2.6.26-29.x.20080815-s390xdefault #1
Process iperf (pid: 24412, task: 000000003f446038, ksp: 000000003c929e08)
Krnl PSW : 0404d00180000000 000003e00006f6e6 (qeth_irq+0xda/0xb28 [qeth])
R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:1 PM:0 EA:3
Krnl GPRS: 0000000000000000 000003e000000003 0000000000000000 0000000000114ccc
000000003fb82e48 000003e00006f60c 000000000000000c 000000003ce72100
0000000000114944 000000003fb82e48 0000000000114ccc 000000003fe8fd28
000003e000066000 000003e000076128 000000003fe8fdb8 000000003fe8fd28
Krnl Code: 000003e00006f6da: bf3f2024 icm %r3,15,36(%r2)
000003e00006f6de: a774023c brc 7,3e00006fb56
000003e00006f6e2: a7280000 lhi %r2,0
>000003e00006f6e6: 5020a1a0 st %r2,416(%r10)
000003e00006f6ea: 58109000 l %r1,0(%r9)
000003e00006f6ee: a7111000 tmll %r1,4096
000003e00006f6f2: a77400f9 brc 7,3e00006f8e4
000003e00006f6f6: 8810000c srl %r1,12
Call Trace:
([] 0x3fe8fd20)
[] ccw_device_call_handler+0xb2/0xd8
[] ccw_device_irq+0x124/0x164
[] io_subchannel_irq+0x8c/0x118
[] do_IRQ+0x192/0x1bc
[] io_return+0x0/0x8
[] sysc_do_svc+0x0/0x22
([] sysc_noemu+0x10/0x16)
[] 0x200002e047c
Last Breaking-Event-Address:
[] qeth_irq+0xca/0xb28 [qeth]The problem is that dev->driver_data for a ccw device is NULL,
while it should point to the ccwgroup device it is a member of.
This happened due to incorrect cleanup if creating a ccwgroup
device failed because the ccw devices were already grouped.Fix this by setting cdev[i] to NULL in the error handling of
ccwgroup_create_from_string() after we give up our reference and
by checking if the driver_data points to the ccwgroup device in
ccwgroup_release() just to be really sure.Signed-off-by: Cornelia Huck
Signed-off-by: Martin Schwidefsky
16 Sep, 2008
1 commit
-
Byte swap the addresses in the page list for fast register work requests
to big endian to match what the HCA expectx. Also, the addresses must
have the "present" bit set so that the HCA knows it can access them.
Otherwise the HCA will fault the first time it accesses the memory
region.Signed-off-by: Vladimir Sokolovsky
Signed-off-by: Roland Dreier
15 Sep, 2008
1 commit
-
The SEC's h/w IV out implementation DMAs the trailing encrypted payload
block of the last encryption to ctx->iv. Since the last encryption may
still be pending completion, we can sufficiently prevent successive
packets from being transmitted with the same IV by xoring with sequence
number.Also initialize alg_list earlier to prevent oopsing on a failed probe.
Signed-off-by: Kim Phillips
Signed-off-by: Lee Nipper
Signed-off-by: Herbert Xu
14 Sep, 2008
16 commits
-
* master.kernel.org:/home/rmk/linux-2.6-arm:
[ARM] Fix PCI_DMA_BUS_IS_PHYS for ARM
[ARM] 5247/1: tosa: SW_EAR_IN support
[ARM] 5246/1: tosa: add proper clock alias for tc6393xb clock
[ARM] 5245/1: Fix warning about unused return value in drivers/pcmcia
[ARM] OMAP: Fix MMC device data
imx serial: fix rts handling for non imx1 based hardware
imx serial: set RXD mux bit on i.MX27 and i.MX31
i.MX serial: fix init failure
pcm037: add rts/cts support for serial port -
* 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
[libata] LBA28/LBA48 off-by-one bug in ata.h
sata_inic162x: enable LED blinking
ata: duplicate variable sparse warning -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
PCI: re-add debug prints for unmodified BARs
PCI: fix pciehp_free_irq()
PCI Hotplug: fakephp: fix deadlock... again
PCI: Fix printk warnings in setup-bus.c
PCI: Fix printk warnings in probe.c
PCI/iommu: blacklist DMAR on Intel G31/G33 chipsets -
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
niu: panic on reset
netlink: fix overrun in attribute iteration
[Bluetooth] Fix regression from using default link policy
ath9k: Assign seq# when mac80211 requests this -
- 8-bit interface mode never worked properly. The only adapter I have
which supports the 8b mode (the Jmicron) had some problems with its
clock wiring and they discovered it only now. We also discovered that
ProHG media is more sensitive to the ordering of initialization
commands.- Make the driver fall back to highest supported mode instead of always
falling back to serial. The driver will attempt the switch to 8b mode
for any new MSPro card, but not all of them support it. Previously,
these new cards ended up in serial mode, which is not the best idea
(they work fine with 4b, after all).- Edit some macros for better conformance to Sony documentation
Signed-off-by: Alex Dubov
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fix the section mismatch warning generated by the incorrect naming of
s3c24xx_spidrv which should be s3c24xx_spi_driver:WARNING: drivers/spi/spi_s3c24xx.o(.data+0x4):
Section mismatch in reference from the variable s3c24xx_spidrv
to the (unknown reference) .exit.text:(unknown)Signed-off-by: Ben Dooks
Signed-off-by: David Brownell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
When suspending the system with atmel_lcdfb enabled, I sometimes see
this:atmel_lcdfb atmel_lcdfb.0: FIFO underflow 0x10
Which can be explained by the fact that we're not stopping the LCD
controller and its DMA engine when suspending, we're just gating the
clocks to them.There's another potential issue which may be harder to trigger but
much more nasty: If we gate the clocks at _just_ the right moment,
e.g. when the DMA engine is doing a bus transaction, we may cause the
DMA engine to violate the system bus protocol and cause a lockup.Avoid these issues by shutting down the LCD controller before entering
suspend (and restarting it when resuming). This prevents the underrun
from happening in the first place, and prevents whatever nastiness is
happening when the bus clock stops in the middle of a DMA transfer.Signed-off-by: Haavard Skinnemoen
Acked-by: Nicolas Ferre
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
If you are on ia64 and you modprobe xpc then modprobe -r xpc, you
immediately get a panic. xpc depends on xp which depends on gru for a
symbol. That symbol is only used when we are running on UV hardware.Currently, the GRU driver detects we are not on UV hardware and does no
initializing. It does not do the same check when unloading. As a result,
the gru driver attempts to tear down stuff that was not setup.This is a simple two-line workaround to get us through this release. Once
2.6.28 is opened, we need to rework the symbols that xp is depending on
from gru so the gru driver can properly fail to load when hardware is not
available.Signed-off-by: Robin Holt
Cc: "Luck, Tony"
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fixes two DMA bugs in the pxa2xx_spi driver. The first bug is in all
versions of this driver; the second was introduced in the 2.6.20 kernel,
and prevents using the driver with chips like m25p16 flash (which can
issue large DMA reads).1. Zero length transfers are permitted for use to insert timing,
but pxa2xx_spi.c will fail if this is requested in DMA mode.
Fixed by using programmed I/O (PIO) mode for such transfers.2. Transfers larger than 8191 are not permitted in DMA mode. A
test for length rejects all large transfers regardless of DMA
or PIO mode. Worked around by rejecting only large transfers
with DMA mapped buffers, and forcing all other transfers
larger than 8191 to use PIO mode. A rate limited warning is
issued for DMA transfers forced to PIO mode.This patch should apply to all kernels back to and including 2.6.20;
it was test patched against 2.6.20. An additional patch would be
required for older kernels, but those versions are very buggy anyway.Signed-off-by: Ned Forrester
Cc: Vernon Sauder
Cc: Eric Miao
Signed-off-by: David Brownell
Cc: [2.6.25.x, 2.6.26.x]
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Fixes several chipselect bugs in the pxa2xx_spi driver. These bugs are in
all versions of this driver and prevent using it with chips like m25p16
flash.1. The spi_transfer.cs_change flag is handled too early:
before spi_transfer.delay_usecs applies, thus making the
delay ineffective at holding chip select.2. spi_transfer.delay_usecs is ignored on the last transfer
of a message (likewise not holding chipselect long enough).3. If spi_transfer.cs_change is set on the last transfer, the
chip select is always disabled, instead of the intended
meaning: optionally holding chip select enabled for the
next message.Those first three bugs were fixed with a relocation of delays
and chip select de-assertions.4. If a message has the cs_change flag set on the last transfer,
and had the chip select stayed enabled as requested (see 3,
above), it would not have been disabled if the next message is
for a different chip. Fixed by dropping chip select regardless
of cs_change at end of a message, if there is no next message
or if the next message is for a different chip.This patch should apply to all kernels back to and including 2.6.20;
it was test patched against 2.6.20. An additional patch would be
required for older kernels, but those versions are very buggy anyway.Signed-off-by: Ned Forrester
Cc: Vernon Sauder
Cc: Eric Miao
Signed-off-by: David Brownell
Cc: [2.6.25.x, 2.6.26.x]
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Error out on transfer length != multiple of bytes per word with -EINVAL.
Fixes a buffer overrun crash if length < bytes per word.Signed-off-by: Peter Korsgaard
Acked-by: Joakim Tjernlund
Signed-off-by: David Brownell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Commit a61f5345 (spi_mpc83xx clockrate fixes) broke clockrate calculation
for low speeds. SPMODE_DIV16 should be set if the divider is higher than
64, not only if the divider gets clipped to 1024.Furthermore, the clipping check was off by a factor 16 as well.
Signed-off-by: Peter Korsgaard
Signed-off-by: David Brownell
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Enable LED blinking.
Signed-off-by: Bob Stewart
Signed-off-by: Tejun Heo
Signed-off-by: Jeff Garzik -
drivers/ata/ata_piix.c:1502:7: warning: symbol 'rc' shadows an earlier one
Signed-off-by: Stephen Hemminger
Signed-off-by: Jeff Garzik -
Fix warning when compiling "drivers/pcmcia/soc-common.c"
The return value of the function "device_create_file"
was not used / assigned.Signed-off-by: Jrgen Schindele
Signed-off-by: Russell King
13 Sep, 2008
2 commits
-
Print out for device BAR values before the kernel tries to update them.
Also make related output use KERN_DEBUG.Signed-off-by: Yinghai Lu
Signed-off-by: Jesse Barnes -
The reset_task function in the niu driver does not reset the tx and rx
buffers properly. This leads to panic on reset. This patch is a
modified implementation of the previously posted fix.Signed-off-by: Santwona Behera
Signed-off-by: David S. Miller
11 Sep, 2008
2 commits
-
* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
block: disable sysfs parts of the disk command filter -
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
[SCSI] fix check of PQ and PDT bits for WLUNs
[SCSI] make scsi_check_sense HARDWARE_ERROR return ADD_TO_MLQUEUE on retry
[SCSI] scsi_dh: make check_sense return ADD_TO_MLQUEUE
[SCSI] zfcp: Remove duplicated unlikely() macros.
[SCSI] zfcp: channel cannot be detached due to refcount imbalance
[SCSI] zfcp: Fix reference counter for remote ports
[SCSI] zfcp: Simplify ccw notify handler
[SCSI] zfcp: Correctly query end flag in gpn_ft response
[SCSI] zfcp: Fix request queue locking
[SCSI] sd: select CRC_T10DIF only when necessary