Tejun Heo [Wed, 31 May 2006 09:28:18 +0000 (18:28 +0900)]
[PATCH] ahci: convert to new probing mechanism and add hotplug support
Convert to new probing mechanism and add hotplug support by enabling
PORT_IRQ_PHYRDY, marking ehi for hotplug and scheduling EH on
CONNECT/PHYRDY interrupts.
Unfortunately, ahci cannot reliably wait for the first D2H FIS after
hotplug. It sometimes succeeds but times out more often than not, so
ATA_FLAG_SKIP_D2H_BSY is used.
This patch also fixes ahci_hardreset() such that D2H Register FIS RX
area is cleared before issuing COMRESET. Without this,
ata_busy_sleep() after COMRESET might prematually finish if the
previous TF contains DRDY && !BSY.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:28:16 +0000 (18:28 +0900)]
[PATCH] sata_sil: convert to new probing mechanism and add hotplug support
Convert to new probing mechanism and add hotplug support by enabling
SATA IRQ for SError.N, marking ehi for hotplug and scheduling EH on
SATA IRQs.
Sil3112/3512/3114 family of controllers use COMRESET as TF clearing
point and can reliably wait for D2H FIS after COMRESET whether the FIS
is the first D2H FIS after POR or in response to the COMRESET. Thus,
setting ATA_FLAG_HRST_TO_RESUME is enough for device detection after
hotplug.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:28:14 +0000 (18:28 +0900)]
[PATCH] ata_piix: convert ata_piix to new probing mechanism
Convert ata_piix to new probing mechanism. Automatic hotplug is not
supported due to hardware limitation (no PHY event interrupt), but
warm plugging works.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:28:13 +0000 (18:28 +0900)]
[PATCH] libata-hp: update unload-unplug
Update unload unplug - driver unloading / PCI removal. This is done
by ata_port_detach() which short-circuits EH, disables all devices and
freezes the port. With this patch, EH and unloading/unplugging are
properly synchronized.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:28:11 +0000 (18:28 +0900)]
[PATCH] libata-hp: implement bootplug
Implement bootplug - boot probing via hotplug path. While loading,
ata_host_add() simply schedules probing and invokes EH. After EH
completes, ata_host_add() scans and assicates them with SCSI devices.
EH path is slightly modified to handle this (e.g. no autopsy during
bootplug). The SCSI part is left in ata_host_add() because it's
shared with legacy path and to keep probing order as before (ATA scan
all ports in host_set then attach all).
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:28:09 +0000 (18:28 +0900)]
[PATCH] libata-hp: hook warmplug
Hook transportt->user_scan() and hostt->slave_destroy().
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:28:07 +0000 (18:28 +0900)]
[PATCH] libata-hp: implement warmplug
Implement warmplug. User-initiated unplug can be detected by
hostt->slave_destroy() and plug by transportt->user_scan(). This
patch only implements the two callbacks. The next function will hook
them.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:28:05 +0000 (18:28 +0900)]
[PATCH] libata-hp: implement SCSI part of hotplug
Implement SCSI part of hotplug.
This must be done in a separate context as SCSI makes use of EH during
probing. SCSI scan fails silently if EH is in progress. In such
cases, libata pauses briefly and retries until every device is
attached.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:28:03 +0000 (18:28 +0900)]
[PATCH] libata-hp: implement hotplug
Implement ATA part of hotplug. To avoid probing broken devices over
and over again, disabled devices are not automatically detached. They
are detached only if probing is requested for the device or the
associated port is offline. Also, to avoid infinite probing loop,
Each device is probed only once per EH run.
As SATA PHY status is fragile, devices are detached only after it has
used up its recovery chances unless explicitly requested by LLDD or
user (LLDD may request direct detach if, for example, it supports cold
presence detection).
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:28:01 +0000 (18:28 +0900)]
[PATCH] libata-hp: implement ata_eh_detach_dev()
Implement ata_eh_detach_dev(). This function is responsible for
detaching an ATA device and offlining the associated SCSI device
atomically so that the detached device is not accessed after ATA
detach is complete.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:59 +0000 (18:27 +0900)]
[PATCH] sata_sil24: update sil24_hardreset()
Use phy debouncing instead of unconditional wait after DEV_RST and
make sil24_hardreset() to request followup SRST as that's the only way
to wait for !BSY. Note that the original implementation never worked
- if the cached status was !BSY, ata_busy_sleep() finished
immediately; otherwise, it timed out regardless of the actual device
status.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:57 +0000 (18:27 +0900)]
[PATCH] sata_sil24: rename PORT_PRB to PORT_LRAM and add PORT_LRAM_SLOT_SZ
PORT_PRB is a misnomer as the area also contains other stuff. Rename
it to PORT_LRAM and add PORT_LRAM_SLOT_SZ.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:55 +0000 (18:27 +0900)]
[PATCH] sata_sil: new interrupt handler
The DMA complete bit of these controllers reflects ATA IRQ status
while no DMA command is in progress. So, we can tell whether the
controller is raising an interrupt or not in deterministic manner.
This patch gives sata_sil its own interrupt handler which behaves much
better than the original one in terms of error detection and handling.
This change is also necessary for later hotplug support.
Further improvements are possible, in both 2 and 4 ports versions, we
can get all status with only one readl and using custom bmdma
operations can further cut down register accesses.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:53 +0000 (18:27 +0900)]
[PATCH] sata_sil: add new constants in preparation for new interrupt handler
sata_sil is about to get a brand new interrupt handler. Add relevant
constants.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:52 +0000 (18:27 +0900)]
[PATCH] libata: export ata_hsm_move()
ata_hsm_move() will be used by LLDDs which depend on standard PIO HSM
but implement their own interrupt handlers.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:50 +0000 (18:27 +0900)]
[PATCH] libata-hp-prep: implement followup softreset handling
In some cases, hardreset must be followed by SRST.
* some controllers can't classify with hardreset
* some controllers can't wait for !BSY after hardreset (LLDD should
explicitly request followup softreset by returning -EAGAIN)
* (later) PM needs SRST w/ PMP==15 to operate after hardreset
To handle above cases, this patch implements follow-up softreset.
After a hardreset, ata_eh_reset() checks whether any of above
conditions are met and do a follow-up softreset if necessary.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:48 +0000 (18:27 +0900)]
[PATCH] libata-hp-prep: add prereset() method and implement ata_std_prereset()
With hotplug, every reset might be a probing reset and thus something
similar to probe_init() is needed. prereset() method is called before
a series of resets to a port and is the counterpart of postreset().
prereset() can tell EH to use different type of reset or skip reset by
modifying ehc->i.action.
This patch also implements ata_std_prereset(). Most controllers
should be able to use this function directly or with some wrapping.
After hotplug, different controllers need different actions to resume
the PHY and detect the newly attached device. Controllers can be
categorized as follows.
* Controllers which can wait for the first D2H FIS after hotplug.
Note that if the waiting is implemented by polling TF status, there
needs to be a way to set BSY on PHY status change. It can be
implemented by hardware or with the help of the driver.
* Controllers which can wait for the first D2H FIS after sending
COMRESET. These controllers need to issue COMRESET to wait for the
first FIS. Note that the received D2H FIS could be the first D2H
FIS after POR (power-on-reset) or D2H FIS in response to the
COMRESET. Some controllers use COMRESET as TF status
synchronization point and clear TF automatically (sata_sil).
* Controllers which cannot wait for the first D2H FIS reliably.
Blindly issuing SRST to spinning-up device often results in command
issue failure or timeout, causing extended delay. For these
controllers, ata_std_prereset() explicitly waits ATA_SPINUP_WAIT
(currently 8s) to give newly attached device time to spin up, then
issues reset. Note that failing to getting ready in ATA_SPINUP_WAIT
is not critical. libata will retry. So, the timeout needs to be
long enough to spin up most devices.
LLDDs can tell ata_std_prereset() which of above action is needed with
ATA_FLAG_HRST_TO_RESUME and ATA_FLAG_SKIP_D2H_BSY flags. These flags
are PHY-specific property and will be moved to ata_link later.
While at it, this patch unifies function typedef's such that they all
have named arguments.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:46 +0000 (18:27 +0900)]
[PATCH] libata-hp-prep: implement sata_phy_debounce()
With hotplug, PHY always needs to be debounced before a reset as any
reset might find new devices. Extract PHY waiting code from
sata_phy_resume() and extend it to include SStatus debouncing. Note
that sata_phy_debounce() is superset of what used to be done inside
sata_phy_resume().
Three default debounce timing parameters are defined to be used by
hot/boot plug. As resume failure during probing will be properly
handled as errors, timeout doesn't have to be long as before.
probeinit() uses the same timeout to retain the original behavior.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:44 +0000 (18:27 +0900)]
[PATCH] libata-hp-prep: make probing related functions global
Hotplug will be implemented in libata-eh.c. Make ata_dev_read_id()
and ata_dev_configure() global.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:42 +0000 (18:27 +0900)]
[PATCH] libata-hp-prep: add ata_aux_wq
It's best to run ATA hotplug from EH but attaching SCSI devices needs
working EH. ata_aux_wq is used to give SCSI hotplug operations a
separate context.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:40 +0000 (18:27 +0900)]
[PATCH] libata-hp-prep: store attached SCSI device
Add device persistent field dev->sdev and store the attached SCSI
device. With hotplug, libata needs to know the attached SCSI device
to offline and detach it, but scsi_device_lookup() cannot be used
because libata will reuse SCSI ID numbers - dead but not gone devices
(due to zombie opens, etc...) interfere with the lookup.
dev->sdev doesn't hold reference to the SCSI device. It's cleared
when the SCSI device goes away.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:38 +0000 (18:27 +0900)]
[PATCH] libata-hp-prep: implement ap->hw_sata_spd_limit
Add ap->hw_sata_spd_limit and initialize it once during the boot
initialization (or driver load initialization). ap->sata_spd_limit is
reset to ap->hw_sata_spd_limit on hotplug. This prevents spd limits
introduced by earlier devices from affecting new devices.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:36 +0000 (18:27 +0900)]
[PATCH] libata-hp-prep: use __ata_scsi_find_dev()
Convert direct sdev -> dev lookup to __ata_scsi_find_dev().
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:34 +0000 (18:27 +0900)]
[PATCH] libata-hp-prep: update ata_scsi_find_dev() and friends
Separate out ata_find_dev() and __ata_scsi_find_dev() from
ata_scsi_find_dev(). These will be used by later hotplug
implementation.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:32 +0000 (18:27 +0900)]
[PATCH] libata-hp-prep: make some ata_device fields persistent
Lifetimes of some fields span over device plugging/unplugging. This
patch moves such persistent fields to the top of ata_device and
separate them with ATA_DEVICE_CLEAR_OFFSET. Fields above the offset
are initialized once during host initializatino while all other fields
are cleared before hotplugging. Currently ->ap, devno and part of
flags are persistent.
Note that flags is partially cleared while holding host_set lock.
This is to synchronize with later warm plug implementation which will
record hotplug request in dev->flags.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:30 +0000 (18:27 +0900)]
[PATCH] libata-hp-prep: implement ata_dev_init()
Move initialization of struct ata_device into ata_dev_init() in
preparation for hotplug. This patch calls ata_dev_init() from
ata_host_init() and thus makes no functional difference.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:29 +0000 (18:27 +0900)]
[PATCH] libata-hp-prep: add flags and eh_info/context fields for hotplug
Add hotplug related flags and eh_info/context fields.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:27 +0000 (18:27 +0900)]
[PATCH] libata: implement ata_eh_wait()
Implement ata_eh_wait(). On return from this function, it's
guaranteed that the EH which was pending or in progress when the
function was called is complete - including the tailing part of SCSI
EH. This will be used by hotplug and others to synchronize with EH.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:25 +0000 (18:27 +0900)]
[PATCH] libata: shift host flag constants
Nudge host flag constants to make a room after ATA_FLAG_EH_PENDING.
New EH flag will be added.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Tejun Heo [Wed, 31 May 2006 09:27:23 +0000 (18:27 +0900)]
[PATCH] libata: set PIO-0 after successful EH reset
Set ata_device->pio_mode to XFER_PIO_0 after a successful reset. This
is to keep EH resets consistent with probe resets as updated by the
commit
b6079ca409bf88c248992e96510dd6f610f7ed89. Note that, with
soon-to-follow hotplug update, EH resets will include probe resets.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Borislav Petkov [Mon, 29 May 2006 05:06:23 +0000 (01:06 -0400)]
libata debugging: set initial dbg value
This patch sets the prerequisites for the new debugging scheme that more or
less resembles Donald Becker's net driver example. This one liner doesn't
change any functionality beside setting the appropriate debug level for the
msg_enable control in the ata_port struct, which will be later used by the
ata_msg_* macros to control the amount of debug information sent to printk.
Signed-off-by: <petkov@uni-muenster.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Mon, 29 May 2006 05:03:37 +0000 (01:03 -0400)]
Merge branch 'master' into upstream
Linus Torvalds [Sun, 28 May 2006 23:35:52 +0000 (16:35 -0700)]
Merge branch 'upstream-fixes' of /linux/kernel/git/jgarzik/libata-dev
* 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
[PATCH] the latest consensus libata resume fix
Paul Mackerras [Sun, 28 May 2006 22:42:34 +0000 (08:42 +1000)]
ppc: Fix typo in TI_LOCAL_FLAGS definition
A typo crept in with commit
ea1e847cc202e805769c3c46ba5e5c53714068a1
which defined TI_LOCAL_FLAGS to be the offset of the `flags' field
of struct thread_info, rather than the `local_flags' field. This
fixes it. The typo was pointed out by Guennadi Liakhovetski.
Signed-off-by: Paul Mackerras <paulus@samba.org>
Jeff Garzik [Sun, 28 May 2006 20:32:59 +0000 (16:32 -0400)]
Merge branch 'upstream-fixes' into upstream
Conflicts:
drivers/scsi/libata-core.c
Mark Lord [Sun, 28 May 2006 15:28:00 +0000 (11:28 -0400)]
[PATCH] the latest consensus libata resume fix
Okay, just to sum things up.
This forces libata to wait for up to 2 seconds for BUSY|DRQ to clear
on resume before continuing.
[jgarzik adds...] During testing we never saw DRQ asserted, but
nonetheless (a) this works and (b) testing for DRQ won't hurt.
Signed-off-by: Mark Lord <liml@rtr.ca>
Acked-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Linus Torvalds [Sat, 27 May 2006 16:40:40 +0000 (09:40 -0700)]
Merge branch 'merge' of git://git./linux/kernel/git/paulus/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
[PATCH] powerpc: fix RTC/NVRAM accesses on Maple
[PATCH] ppc32 CPM_UART: various fixes for pq2 uart users
[PATCH] powerpc: linuxppc64.org no more
Alan Cox [Wed, 24 May 2006 13:14:41 +0000 (14:14 +0100)]
[PATCH] libata: add pio_data_xfer_noirq
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Alan Cox [Wed, 24 May 2006 13:06:11 +0000 (14:06 +0100)]
[PATCH] PCI identifiers for the pata_via update
These IDs are also used by the drivers/ide/pci changes submitted by
VIA.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Sat, 27 May 2006 01:58:38 +0000 (21:58 -0400)]
[netdrvr s/390] trim trailing whitespace
Previous fix patches added a bunch of trailing whitespace,
which git-applymbox complained loudly about.
Klaus Wacker [Wed, 24 May 2006 07:51:21 +0000 (09:51 +0200)]
[PATCH] s390: lcs driver bug fixes and improvements [2/2]
This is the second lcs driver patch containing the rest of lcs fixes.
Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Klaus Wacker [Wed, 24 May 2006 07:51:17 +0000 (09:51 +0200)]
[PATCH] s390: lcs driver bug fixes and improvements [1/2]
Several problems occured with lcs device driver:
- device not operational anymore after cable pull/plug-in.
- unpredictable results occured, e.g. kernel panic
using cards of type QD8F.
- STOPLAN and delete multicast address command
were not proper recognized by OSA card under heavy network workload.
- channel/device error checks missing in interrupt handler.
To fix all problems at once recovery of lcs devices has been improved.
missing error checks in lcs interrupt handler has been added.
Once a hardware problem occurs lcs will recover the device now properly.
Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Ursula Braun [Wed, 24 May 2006 07:51:13 +0000 (09:51 +0200)]
[PATCH] s390: qeth driver fixes
From: Frank Blaschka <Frank.Blaschka@de.ibm.com>
From: Frank Pavlic <fpavlic@de.ibm.com>
- fix fake_ll during initial device bringup. fake_ll was
not active after first start of the device.
Problem only occured when qeth was built without IPV6 support.
- avoid skb usage after invocation of qeth_flush_buffers,
because skb might already be freed.
- remove yet another useless netif_wake_queue in
qeth_softsetup_ipv6 since this function is only called
when device is going online. In this case card->state will
never be in state UP. So let the net_device queue down .
Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Ursula Braun [Wed, 24 May 2006 07:51:11 +0000 (09:51 +0200)]
[PATCH] s390: qeth driver fixes
From: Frank Pavlic <fpavlic@de.ibm.com>
- correct checking of sscanf-%n value in qeth_string_to_ipaddr().
- don't use netif_stop_queue outside the hard_start_xmit routine.
Rather use netif_tx_disable.
- don't call qeth_netdev_init on a recovery.
Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Cornelia Huck [Wed, 24 May 2006 07:51:05 +0000 (09:51 +0200)]
[PATCH] s390: minor fix in cu3088
In case of a parse error for the cu3088 group attribute,
return -EINVAL instead of count.
Signed-off-by: Frank Pavlic <fpavlic@de.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Don Fry [Thu, 25 May 2006 23:22:40 +0000 (16:22 -0700)]
[PATCH] pcnet32: remove incorrect pcnet32_free_ring
During a code scan for another change I discovered that this call to
pcnet32_free_ring must be removed. If the open fails due to a lack of
memory all the ring structures are removed via the call to free_ring
and a subsequent call to open will dereference a null pointer in
pcnet32_init_ring.
Please apply to 2.6.17.
Signed-off-by: Don Fry <brazilnut@us.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Auke Kok [Tue, 23 May 2006 20:35:57 +0000 (13:35 -0700)]
e1000: add shutdown handler back to fix WOL
Someone was waaay too aggressive and removed e1000's reboot notifier
instead of porting it to the new way of the shutdown handler. This change
broke wake on lan. Add the shutdown handler back in using the same method
as e100 uses.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
(cherry picked from
c653e6351e371b33b29871e5eedf610ffb3be037 commit)
Jeff Garzik [Sat, 27 May 2006 01:30:38 +0000 (21:30 -0400)]
Merge branch 'master' into upstream
Albert Lee [Fri, 26 May 2006 05:49:18 +0000 (13:49 +0800)]
[PATCH] libata: add back ->data_xfer to ata_piix.c
Add back ->data_xfer and ->mode_filter to ata_piix.c.
Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Sat, 27 May 2006 01:26:22 +0000 (21:26 -0400)]
Merge branch 'upstream-fixes' of git://git./linux/kernel/git/linville/wireless-2.6 into upstream-fixes
Linus Torvalds [Fri, 26 May 2006 22:13:33 +0000 (15:13 -0700)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[NET]: dev.c comment fixes
[IPV6] ROUTE: Don't try less preferred routes for on-link routes.
[IRDA]: *_DONGLE should depend on IRTTY_SIR
[MAINTAINERS]: Add entry for netem
Stephen Hemminger [Fri, 26 May 2006 20:25:24 +0000 (13:25 -0700)]
[NET]: dev.c comment fixes
Noticed that dev_alloc_name() comment was incorrect, and more spellung
errors.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
YOSHIFUJI Hideaki [Fri, 26 May 2006 20:23:41 +0000 (13:23 -0700)]
[IPV6] ROUTE: Don't try less preferred routes for on-link routes.
In addition to the real on-link routes, NONEXTHOP routes
should be considered on-link.
Problem reported by Meelis Roos <mroos@linux.ee>.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Acked-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: David S. Miller <davem@davemloft.net>
Randy Dunlap [Thu, 25 May 2006 18:10:08 +0000 (11:10 -0700)]
[PATCH] arlan: fix section mismatch warnings
Fix section mismatch warnings:
WARNING: drivers/net/wireless/arlan.o - Section mismatch: reference to
.init.text:arlan_probe from .text between 'init_module' (at offset
0x3526) and 'cleanup_module'
WARNING: drivers/net/wireless/arlan.o - Section mismatch: reference to
.init.text:init_arlan_proc from .text between 'init_module' (at offset
0x3539) and 'cleanup_module'
WARNING: drivers/net/wireless/arlan.o - Section mismatch: reference to
.exit.text:cleanup_arlan_proc from .text between 'cleanup_module' (at
offset 0x356c) and 'arlan_diagnostic_info_string'
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Randy Dunlap [Thu, 25 May 2006 18:09:21 +0000 (11:09 -0700)]
[PATCH] wavelan: fix section mismatch
Fix section mismatch warning:
WARNING: drivers/net/wireless/wavelan.o - Section mismatch: reference to
.init.text: from .text between 'init_module' (at offset 0x371e) and
'cleanup_module'
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Kylene Jo Hall [Fri, 26 May 2006 01:44:27 +0000 (18:44 -0700)]
[PATCH] tpm: fix bug for TPM on ThinkPad T60 and Z60
The TPM chip on the ThinkPad T60 and Z60 machines is returning 0xFFFF for
the vendor ID which is a check the driver made to double check it was
actually talking to the memory mapped space of a TPM. This patch removes
the check since it isn't absolutely necessary and was causing device
discovery to fail on these machines.
Signed-off-by: Kylene Hall <kjhall@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Randy Dunlap [Fri, 26 May 2006 01:44:26 +0000 (18:44 -0700)]
[PATCH] scx200_acb: fix section mismatch warning
WARNING: drivers/i2c/busses/scx200_acb.o - Section mismatch: reference to
.init.text: from .text after 'scx200_add_cs553x' (at offset 0x528)
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ben Dooks [Fri, 26 May 2006 01:44:25 +0000 (18:44 -0700)]
[PATCH] s3c24xx: fix spi driver with CONFIG_PM
Fix compile bug with the S3C24XX SPI driver when CONFIG_PM is set.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Johannes Berg [Fri, 26 May 2006 01:44:24 +0000 (18:44 -0700)]
[PATCH] PowerMac: force only suspend-to-disk to be valid
For a very long time, echoing 'standby' or 'mem' into /sys/power/state has
killed the machine on powerpc. This patch fixes that.
This patch adds the .valid callback to pm_ops on PowerMac so that only the
suspend to disk state can be entered. Note that just returning 0 would
suffice since the upper layers don't pass PM_SUSPEND_DISK down, but we
handle it there regardless just in case that changes.
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Florin Malita [Fri, 26 May 2006 01:44:23 +0000 (18:44 -0700)]
[PATCH] affs: possible null pointer dereference in affs_rename()
If affs_bread() fails, the exit path calls mark_buffer_dirty_inode() with a
NULL argument.
Coverity CID: 312.
Signed-off-by: Florin Malita <fmalita@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
David Brownell [Fri, 26 May 2006 01:44:20 +0000 (18:44 -0700)]
[PATCH] ads7846 conversion accuracy
This improves accuracy of the touchscreen and hwmon sensor readings,
addressing an issue noted by Imre Deak: there's an extra bit written before
the sample (12 bits) gets written out.
It also catches up to various comments, and makes the /proc/interrupts
entry sensible again.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Cc: Imre Deak <imre.deak@nokia.com>
Cc: Jean Delvare <khali@linux-fr.org>
Cc: Dmitry Torokhov <dtor_core@ameritech.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jens Axboe [Fri, 26 May 2006 01:44:19 +0000 (18:44 -0700)]
[PATCH] x86: wire up vmsplice syscall
Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Paul Mackerras [Fri, 26 May 2006 01:44:17 +0000 (18:44 -0700)]
[PATCH] Add CMSPAR to termbits.h for powerpc and alpha
Some driver wants to use CMSPAR, but it was missing on alpha and powerpc.
This adds it, with the same value as every other architecture uses.
(akpm: fixes the build of an upcoming gregkh USB patch)
Signed-off-by: Paul Mackerras <paulus@samba.org>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Neil Brown [Fri, 26 May 2006 00:39:25 +0000 (10:39 +1000)]
[PATCH] Unlock md devices when stopping them on reboot.
otherwise we get nasty messages about locks not being released.
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Fri, 26 May 2006 18:51:08 +0000 (11:51 -0700)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
IB/mthca: Fix posting lists of 256 receive requests to SRQ for Tavor
Hollis Blanchard [Thu, 25 May 2006 21:36:53 +0000 (16:36 -0500)]
[PATCH] powerpc: fix RTC/NVRAM accesses on Maple
Due to a firmware device tree bug, RTC and NVRAM accesses (including
halt/reboot) on Maple have been broken since January, when an untested
build fix went in. This code patches the device tree in Linux.
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Vitaly Bordug [Wed, 24 May 2006 17:40:18 +0000 (21:40 +0400)]
[PATCH] ppc32 CPM_UART: various fixes for pq2 uart users
This fixes various odd things that missed update together with cpm_uart
platform_device move. Unified resources names, restructurisation, etc.
Also, addressed issue with recent phys/virt translation rework. Being
cache-coherent, CPM2's do alloc_bootmem() for the console stuff, and it was
used to treat console buffer descriptor mapping 1:1 (as in CPM1 case),
which is definitely wrong.
Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Arthur Othieno [Fri, 19 May 2006 10:22:23 +0000 (06:22 -0400)]
[PATCH] powerpc: linuxppc64.org no more
http://linuxppc64.org has long been a redirect to the canonical
http://penguinppc.org/ppc64/ -- update all instances accordingly,
as ACKed by Hollis:
On Wed, Jan 18, 2006 at 09:48:08AM -0600, Hollis Blanchard wrote:
> On Wed, 2006-01-18 at 13:07 +0100, Olaf Hering wrote:
> > On Wed, Jan 18, Arthur Othieno wrote:
> > >
> > > What about the s/linuxppc64\.org/penguinppc\.org/g case? Or is
> > > penguinppc64.org preferable? Or am I just taking it too far? ;)
> >
> > They are redirected on DNS or HTTP level.
>
> HTTP level, but that doesn't answer his question.
>
> As the maintainer of that site, I would prefer to remove the
> linuxppc64.org reference.
Signed-off-by: Arthur Othieno <apgo@patchbomb.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Samuel Ortiz [Thu, 25 May 2006 23:17:53 +0000 (16:17 -0700)]
[IRDA]: *_DONGLE should depend on IRTTY_SIR
If a SIR dongle is built in the kernel while IRTTY_SIR is built
as a module, kernel compilation will fail.
Thus, the SIR dongle config should depend on the IRTTY_SIR.
Closes kernel bug# 6512
(http://bugzilla.kernel.org/show_bug.cgi?id=6512)
Signed-off-by: Samuel Ortiz <samuel@sortiz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Stephen Hemminger [Thu, 25 May 2006 23:14:43 +0000 (16:14 -0700)]
[MAINTAINERS]: Add entry for netem
It gets enough reports, that there ought to be a MAINTAINER entry.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Martin Schwidefsky [Tue, 23 May 2006 07:22:42 +0000 (09:22 +0200)]
[PATCH] s390: fix typo in stop_hz_timer.
Add missing parentheses for type cast to u64.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Thu, 25 May 2006 01:50:17 +0000 (18:50 -0700)]
Linux 2.6.17-rc5
Jean Delvare [Wed, 24 May 2006 18:13:14 +0000 (15:13 -0300)]
[PATCH] V4L/DVB (4045): Fixes recursive dependency for I2C
Mixing "depends on I2C" and "select I2C" within the media subsystem
leads to the following problem:
Warning! Found recursive dependency: I2C DVB_BUDGET DVB_BUDGET_PATCH
DVB_AV7110 VIDEO_SAA7146_VV VIDEO_SAA7146 I2C
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Michael S. Tsirkin [Wed, 24 May 2006 15:27:07 +0000 (18:27 +0300)]
IB/mthca: Fix posting lists of 256 receive requests to SRQ for Tavor
If we post a list of length exactly a multiple of 256, nreq in
doorbell gets set to 256 which is wrong: it should be encoded by 0.
This is because we only zero it out on the next WR, which may not be
there. The solution is to ring the doorbell after posting a WQE, not
before posting the next one.
This is the same bug that we just fixed for QPs with non-shared RQ.
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Linus Torvalds [Wed, 24 May 2006 15:55:12 +0000 (08:55 -0700)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband:
IB/ipath: deref correct pointer when using kernel SMA
IB/ipath: fix null deref during rdma ops
IB/ipath: register as IB device owner
IB/ipath: enable PE800 receive interrupts on user ports
IB/ipath: enable GPIO interrupt on HT-460
IB/ipath: fix NULL dereference during cleanup
IB/ipath: replace uses of LIST_POISON
IB/ipath: fix reporting of driver version to userspace
IB/ipath: don't modify QP if changes fail
IB/ipath: fix spinlock recursion bug
Linus Torvalds [Wed, 24 May 2006 15:37:03 +0000 (08:37 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/shaggy/jfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
JFS: Fix multiple errors in metapage_releasepage
Linus Torvalds [Wed, 24 May 2006 15:36:31 +0000 (08:36 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
[PATCH] libata: add pio flush for via atapi (was: Re: TR: ASUS A8V Deluxe, x86_64)
Linus Torvalds [Wed, 24 May 2006 15:36:03 +0000 (08:36 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
[PATCH] sky2: fix jumbo packet support
Pierre Ossman [Wed, 24 May 2006 08:20:45 +0000 (10:20 +0200)]
[MMC] Fix premature use of md->disk
md->disk was being used in a debug message before it was allocated.
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Dave Kleikamp [Wed, 24 May 2006 12:43:38 +0000 (07:43 -0500)]
JFS: Fix multiple errors in metapage_releasepage
It looks like metapage_releasepage was making in invalid assumption that
the releasepage method would not be called on a dirty page. Instead of
issuing a warning and releasing the metapage, it should return 0, indicating
that the private data for the page cannot be released.
I also realized that metapage_releasepage had the return code all wrong. If
it is successful in releasing the private data, it should return 1, otherwise
it needs to return 0.
Lastly, there is no need to call wait_on_page_writeback, since
try_to_release_page will not call us with a page in writback state.
Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
Alan Cox [Tue, 23 May 2006 12:18:57 +0000 (13:18 +0100)]
[PATCH] libata: Remove obsolete flag
ATA_FLAG_IRQ_MASK was added when I did the original data transfer with
IRQ masked bits for PIO. It has since been replaced by ->pio_data_xfer
methods so should be removed so nobody uses it by mistake thinking it
still works.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Alan Cox [Mon, 22 May 2006 21:58:14 +0000 (22:58 +0100)]
[PATCH] ata_piix formatting
if( spacing fix for Garzik compliant formatting
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Mark Lord [Mon, 22 May 2006 23:02:03 +0000 (19:02 -0400)]
[PATCH] sata_mv: endian annotations
Signed-off-by: Mark Lord <liml@rtr.ca>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Alan Cox [Mon, 22 May 2006 15:59:59 +0000 (16:59 +0100)]
[PATCH] PATCH: libata. Add ->data_xfer method
We need to pass the device in order to do per device checks such as
32bit I/O enables. With the changes to include dev->ap we now don't have
to add parameters however just clean them up. Also add data_xfer methods
to the existing drivers except ata_piix (which is in the other block of
patches). If you reject the piix one just add a data_xfer to it...
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Wed, 24 May 2006 05:53:39 +0000 (01:53 -0400)]
[libata] libata-scsi, sata_mv: trim trailing whitespace
Alan Cox [Mon, 22 May 2006 15:55:11 +0000 (16:55 +0100)]
[PATCH] libata - fix bracketing and DMA oops
The upstream tree has the ATA_DFLAG_PIO bug fixed but does not have the
pass throuugh bug fix
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Alan Cox [Mon, 22 May 2006 15:52:06 +0000 (16:52 +0100)]
[PATCH] libata: PIO 0
Ensure the pio_mode is always setup. Don't do any setup on the controller b
just ensure the mode reporting is valid to avoid tons of special cases
in PATA driver code when mode switching on the fly.
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Albert Lee [Tue, 23 May 2006 10:12:30 +0000 (18:12 +0800)]
[PATCH] libata: minor fix for irq-pio merge
Minor fix to put the ATA_FLAG_NO_ATAPI flag back.
Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Wed, 24 May 2006 05:49:12 +0000 (01:49 -0400)]
Merge branch 'upstream-fixes' into upstream
Conflicts:
drivers/scsi/libata-core.c
Albert Lee [Mon, 22 May 2006 03:43:46 +0000 (11:43 +0800)]
[PATCH] libata: add pio flush for via atapi (was: Re: TR: ASUS A8V Deluxe, x86_64)
Backport the "pio flush" from the libata major update to 2.6.17 for via atapi.
Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Wed, 24 May 2006 05:43:25 +0000 (01:43 -0400)]
[libata sata_promise] Add PATA cable detection.
Original patch from Phillip Jordan <phillip.m.jordan@gmail.com>
Cleanups and fixes by me.
Andrew Chew [Thu, 20 Apr 2006 22:54:26 +0000 (15:54 -0700)]
[PATCH] sata_nv: Add MCP61 support
Added MCP61 SATA support to sata_nv.
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Jeff Garzik [Wed, 24 May 2006 05:32:42 +0000 (01:32 -0400)]
Merge branch 'master' into upstream
Stephen Hemminger [Mon, 22 May 2006 19:03:42 +0000 (12:03 -0700)]
[PATCH] sky2: fix jumbo packet support
The truncate threshold calculation to prevent receiver from getting stuck
was incorrect, and it didn't take into account the upper limit on bits
in the register so the jumbo packet support was broken.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Stephen Hemminger [Tue, 23 May 2006 22:20:25 +0000 (15:20 -0700)]
[BRIDGE]: need to ref count the LLC sap
Bridge will OOPS on removal if other application has the SAP open.
The bridge SAP might be shared with other usages, so need
to do reference counting on module removal rather than explicit
close/delete.
Since packet might arrive after or during removal, need to clear
the receive function handle, so LLC only hands it to user (if any).
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Chris Wright [Tue, 23 May 2006 22:08:13 +0000 (15:08 -0700)]
[NETFILTER]: SNMP NAT: fix memleak in snmp_object_decode
If kmalloc fails, error path leaks data allocated from asn1_oid_decode().
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Tue, 23 May 2006 22:07:46 +0000 (15:07 -0700)]
[NETFILTER]: H.323 helper: fix sequence extension parsing
When parsing unknown sequence extensions the "son"-pointer points behind
the last known extension for this type, don't try to interpret it.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Tue, 23 May 2006 22:07:07 +0000 (15:07 -0700)]
[NETFILTER]: H.323 helper: fix parser error propagation
The condition "> H323_ERROR_STOP" can never be true since H323_ERROR_STOP
is positive and is the highest possible return code, while real errors are
negative, fix the checks. Also only abort on real errors in some spots
that were just interpreting any return value != 0 as error.
Fixes crashes caused by use of stale data after a parsing error occured:
BUG: unable to handle kernel paging request at virtual address
bfffffff
printing eip:
c01aa0f8
*pde =
1a801067
*pte =
00000000
Oops: 0000 [#1]
PREEMPT
Modules linked in: ip_nat_h323 ip_conntrack_h323 nfsd exportfs sch_sfq sch_red cls_fw sch_hfsc xt_length ipt_owner xt_MARK iptable_mangle nfs lockd sunrpc pppoe pppoxx
CPU: 0
EIP: 0060:[<
c01aa0f8>] Not tainted VLI
EFLAGS:
00210646 (2.6.17-rc4 #8)
EIP is at memmove+0x19/0x22
eax:
d77264e9 ebx:
d77264e9 ecx:
e88d9b17 edx:
d77264e9
esi:
bfffffff edi:
bfffffff ebp:
de6a7680 esp:
c0349db8
ds: 007b es: 007b ss: 0068
Process asterisk (pid: 3765, threadinfo=
c0349000 task=
da068540)
Stack: <0>
00000006 c0349e5e d77264e3 e09a2b4e e09a38a0 d7726052 d7726124 00000491
00000006 00000006 00000006 00000491 de6a7680 d772601e d7726032 c0349f74
e09a2dc2 00000006 c0349e5e 00000006 00000000 d76dda28 00000491 c0349f74
Call Trace:
[<
e09a2b4e>] mangle_contents+0x62/0xfe [ip_nat]
[<
e09a2dc2>] ip_nat_mangle_tcp_packet+0xa1/0x191 [ip_nat]
[<
e0a2712d>] set_addr+0x74/0x14c [ip_nat_h323]
[<
e0ad531e>] process_setup+0x11b/0x29e [ip_conntrack_h323]
[<
e0ad534f>] process_setup+0x14c/0x29e [ip_conntrack_h323]
[<
e0ad57bd>] process_q931+0x3c/0x142 [ip_conntrack_h323]
[<
e0ad5dff>] q931_help+0xe0/0x144 [ip_conntrack_h323]
...
Found by the PROTOS c07-h2250v4 testsuite.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Bryan O'Sullivan [Tue, 23 May 2006 18:32:38 +0000 (11:32 -0700)]
IB/ipath: deref correct pointer when using kernel SMA
At this point, the core QP structure hasn't been initialized, so what's
in there isn't valid. Get the same information elsewhere.
Signed-off-by: Bryan O'Sullivan <bos@pathscale.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Bryan O'Sullivan [Tue, 23 May 2006 18:32:37 +0000 (11:32 -0700)]
IB/ipath: fix null deref during rdma ops
The problem was that node A's sending thread, which handles sending RDMA
read response data, would write the trigger word, the last packet would
be sent, node B would send a new RDMA read request, node A's interrupt
handler would initialize s_rdma_sge, then node A's sending thread would
update s_rdma_sge. This didn't happen very often naturally but was more
frequent with 1 byte RDMA reads. Rather than adding more locking or
increasing the QP structure size and copying sge data, I modified the
copy routine to update the pointers before writing the trigger word to
avoid the update race.
Signed-off-by: Ralph Campbell <ralphc@pathscale.com>
Signed-off-by: Bryan O'Sullivan <bos@pathscale.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>