summaryrefslogtreecommitdiffstats
path: root/drivers (follow)
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] beginning of 8390 fixes - generic and arm/etherhAl Viro2006-12-025-1099/+1135
| | | | | | | | | | | | | | | | | | | etherh and a handful of other odd drivers use different macros when building 8390.c. Since we generate a single 8390.o and then link with it, in any config with both oddball and normal 8390-based driver we will end up with breakage in at least one of them. Solution: take most of 8390.c into lib8390.c and have 8390.c, etherh.c and the rest of oddballs #include it. Helper macros are taken from 8390.h to whoever includes lib8390.c. That way odd drivers get separate instances of compiled 8390 stuff and stop stepping on each other's toes. 8390.h gets cleaned up - we don't have the cascade of ifdefs in there and are left with the stuff that can be used by any 8390-based driver. Current problems are exactly because of that cascade - we attempt to choose the set of helpers by looking at config and that, of course, doesn't work well when we have several sets needed by various drivers in our config. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] sk98lin: MII ioctl supportStephen Hemminger2006-12-021-0/+54
| | | | | | | | Add MII ioctl support to the deprecated sk98lin driver. This allows comparison with skge driver's PHY settings. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] sk98lin: ethtool register dumpStephen Hemminger2006-12-021-0/+26
| | | | | | | | | Add support for dumping the registers in the deprecated sk98lin driver. This is allows for easier comparison with settings in new skge driver. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] pci_module_init() convertion in olympic.cHenrik Kretzschmar2006-12-021-1/+1
| | | | | | | | | pci_module_init() convertion in olympic.c Signed-off-by: Henrik Kretzschmar <henne@nachtwindheim.de> Acked-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] Remove unnecessary check in drivers/net/depca.cEric Sesterhenn2006-12-021-15/+13
| | | | | | | | | | | This was spotted by coverity (cid #793). All callers dereference dev before calling this functions, and we dereference it earlier in the function, when initializing lp. Signed-off-by: Eric Sesterhenn <snakebyte@gmx.de> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] forcedeth: power management supportFrancois Romieu2006-12-021-1/+46
| | | | | | | | | | | | | | | | | | | | | Tobias Diedrich <ranma@tdiedrich.de> sayeth: Vanilla forcedeth doesn't seem to support suspend and an ifdown/up-cycle is needed to get it working again after suspend. Francois Romieu's "Awfully experimental" patch is working just fine for me (with message signalled interrupts disabled) and has survived quite a few suspend/resume cycles. So I'd very much like to see (at least partial, with msi disabled) suspend support for forcedeth in mainline. (Addresses http://bugzilla.kernel.org/show_bug.cgi?id=6398) Cc: Francois Romieu <romieu@fr.zoreil.com> Cc; Jeff Garzik <jeff@garzik.org> Cc: Manfred Spraul <manfred@colorfullife.com> Cc: Ayaz Abdulla <aabdulla@nvidia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] 2.6.18: sb1250-mac: Phylib IRQ handling fixesMaciej W. Rozycki2006-12-021-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes a couple of problems discovered with interrupt handling in the phylib core, namely: 1. The driver uses timer and workqueue calls, but does not include <linux/timer.h> nor <linux/workqueue.h>. 2. The driver uses schedule_work() for handling interrupts, but does not make sure any pending work scheduled thus has been completed before driver's structures get freed from memory. This is especially important as interrupts may keep arriving if the line is shared with another PHY. The solution is to ignore phy_interrupt() calls if the reported device has already been halted and calling flush_scheduled_work() from phy_stop_interrupts() (but guarded with current_is_keventd() in case the function has been called through keventd from the MAC device's close call to avoid a deadlock on the netlink lock). Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> patch-mips-2.6.18-20060920-phy-irq-16 Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] 2.6.18: sb1250-mac: Broadcom PHY supportMaciej W. Rozycki2006-12-023-0/+182
| | | | | | | | | | | | This patch adds support for interrupt-driven operation of the Broadcom Gigabit Ethernet PHYs. I have included device IDs for the parts used on Broadcom SiByte evaluation boards; more can be added as a need arises. They are apparently generally software-compatible with one another. Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org> patch-mips-2.6.18-20060920-broadcom-phy-15 Signed-off-by: Jeff Garzik <jeff@garzik.org>
* Merge branch 'upstream-linus' of ↵Linus Torvalds2006-12-0210-73/+74
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: [PATCH] Fix an offset error when reading the CS89x0 ADD_PORT register [PATCH] spidernet: poor network performance [PATCH] Spidernet: remove ETH_ZLEN check in earlier patch [PATCH] bonding: fix an oops when slave device does not provide get_stats [PATCH] drivers/net: SAA9730: Fix build error Revert "[PATCH] zd1211rw: Removed unneeded packed attributes" [PATCH] zd1211rw: Fix of a locking bug [PATCH] softmac: remove netif_tx_disable when scanning [PATCH] ieee80211: Fix kernel panic when QoS is enabled
| * [PATCH] Fix an offset error when reading the CS89x0 ADD_PORT registerGeorge G. Davis2006-11-301-2/+2
| | | | | | | | | | | | | | Fix an offset error when reading the CS89x0 ADD_PORT register. Signed-off-by: George G. Davis Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] spidernet: poor network performanceLinas Vepstas2006-11-302-5/+5
| | | | | | | | | | | | | | | | | | | | | | Correct a problem seen on later kernels running the NetPIPE application. Specifically, NetPIPE would begin running very slowly at the 1533 packet size. It was determined that Spidernet slowed with an idle DMA engine. Signed-off-by: James K Lewis <jklewis@us.ibm.com> Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] Spidernet: remove ETH_ZLEN check in earlier patchJames K Lewis2006-11-302-14/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In an earlier patch, code was added to pad packets that were less that ETH_ZLEN (60) bytes using the skb_pad function. This has caused hangs when accessing certain NFS mounted file systems. This patch removes the check and solves the NFS problem. The driver, with this patch, has been tested extensively. Please apply. Signed-off-by: James K Lewis <jklewis@us.ibm.com> Cc: Stephen Hemminger <shemminger@osdl.org> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * [PATCH] bonding: fix an oops when slave device does not provide get_statsLaurent Riffard2006-11-301-27/+36
| | | | | | | | | | | | | | | | | | | | | | Bonding driver unconditionnaly dereference get_stats function pointer for each of its slave device. This patch - adds a check for NULL dev->get_stats pointer in bond_get_stats - prints a notice when the bonding device enslave a device without get_stats function. Signed-off-by: Laurent Riffard <laurent.riffard@free.fr> Signed-off-by: Jeff Garzik <jeff@garzik.org>
| * Merge branch 'upstream-fixes' of ↵Jeff Garzik2006-11-305-24/+24
| |\ | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes
| | * Revert "[PATCH] zd1211rw: Removed unneeded packed attributes"John W. Linville2006-11-284-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 4e1bbd846d00a245dcf78b6b331d8a9afed8e6d7. Quoth Daniel Drake <dsd@gentoo.org>: "A user reported that commit 4e1bbd846d00a245dcf78b6b331d8a9afed8e6d7 (Remove unneeded packed attributes) breaks the zd1211rw driver on ARM." Signed-off-by: John W. Linville <linville@tuxdriver.com>
| | * [PATCH] zd1211rw: Fix of a locking bugUlrich Kunitz2006-11-281-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the bug as reported in the kernel bug tracker under the id 7244. The bug was simply that the interrupt lock has been locked outside an interrupt without blocking the interrupt. Signed-off-by: Ulrich Kunitz <kune@deine-taler.de> Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * | [PATCH] drivers/net: SAA9730: Fix build errorRalf Baechle2006-11-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Confusingly NET_PCI is also set for for non-PCI EISA configurations where building this driver will result in a build error due to a reference to pci_release_regions. While at it, remove the EXPERIMENTAL - in all its uglyness and despite the sincerest attempts of the buggy hardware the driver is known to work. Also limit the driver to the Atlas board - the only known system to ever use the SAA9730 before Phillips ended the short live of the SAA9730. Signed-off-by: Ralf Baechle <ralf@linux-mips.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* | | Merge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdogLinus Torvalds2006-12-026-4/+1423
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 4 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 3 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 2 [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 1 [WATCHDOG] MIPS RM9000 on-chip watchdog device [WATCHDOG] Add iTCO vendor specific support [WATCHDOG] sc1200wdt.c pnp unregister fix. [WATCHDOG] config.h removal [WATCHDOG] NS pc87413-wdt Watchdog driver - fixes [WATCHDOG] NS pc87413-wdt Watchdog driver v1.1 [WATCHDOG] NS pc87413-wdt Watchdog driver
| * \ \ Merge ../linux-2.6-watchdog-mmWim Van Sebroeck2006-11-306-4/+1423
| |\ \ \ | | |/ / | |/| |
| | * | [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 4Wim Van Sebroeck2006-11-171-20/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a number of small patches: - include notifier.h include file - re-arrange prototype functions - remove =0 initializations - change printk logging levels to what's used in other drivers - /dev/watchdog is a VFS so use nonseekable_open - Style: Instead of "if (constant op function_or_variable)" we prefer "if (function_or_variable op constant)" - arg is a __user pointer - use MAX_TIMEOUT_SECONDS instead of 32 in WDIOC_SETTIMEOUT Signed-off-by: Randy Dunlap <rdunlap@xenotime.net> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| | * | [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 3Wim Van Sebroeck2006-11-171-27/+29
| | | | | | | | | | | | | | | | | | | | | | | | Move start and stop code into seperate functions Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| | * | [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 2Wim Van Sebroeck2006-11-171-115/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reorganize source code so that it is structured as follows: - Function prototypes - Local variables - Module arguments - Interrupt handler - Watchdog functions - /dev/watchdog operations - Shutdown notifier - Kernel interfaces - Init & exit procedures - Device driver init & exit Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| | * | [WATCHDOG] MIPS RM9000 on-chip watchdog device - patch 1Wim Van Sebroeck2006-11-171-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Locate parameter descriptions close to parameter definition - not in bottom of file. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| | * | [WATCHDOG] MIPS RM9000 on-chip watchdog deviceThomas Koeller2006-11-173-0/+442
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a driver for the on-chip watchdog device found on some MIPS RM9000 processors. Signed-off-by: Thomas Koeller <thomas.koeller@baslerweb.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| | * | [WATCHDOG] Add iTCO vendor specific supportWim Van Sebroeck2006-11-124-4/+342
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add vendor specific support to the intel TCO timer based watchdog devices. At this moment we only have additional support for some SuperMicro Inc. motherboards. Signed-off-by: Robert Seretny <lkpatches@paypc.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| | * | [WATCHDOG] sc1200wdt.c pnp unregister fix.Akinobu Mita2006-10-291-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If no devices found or invalid parameter is specified, scl200wdt_pnp_driver is left unregistered. It breaks global list of pnp drivers. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@osdl.org>
| | * | [WATCHDOG] config.h removalAndrew Morton2006-10-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | config.h got removed Signed-off-by: Wim Van Sebroeck <wim@iguana.be> Signed-off-by: Andrew Morton <akpm@osdl.org>
| | * | [WATCHDOG] NS pc87413-wdt Watchdog driver - fixesWim Van Sebroeck2006-10-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some small fixes: * the status should return 0 and not 1 (1 means: * wdt_io is not a module-param, io is. Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| | * | [WATCHDOG] NS pc87413-wdt Watchdog driver v1.1Sven Anders & Marcus Junker2006-10-231-304/+330
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the driver for proper spin_locking, remove the TEMP_MINOR stuff, make sure the device works as a Virtual File System that is non_seekable, ... Signed-off-by: Sven Anders <anders@anduras.de> Signed-off-by: Marcus Junker <junker@anduras.de> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
| | * | [WATCHDOG] NS pc87413-wdt Watchdog driverSven Anders & Marcus Junker2006-10-153-0/+625
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New watchdog driver for the NS pc87413-wdt Watchdog Timer. Signed-off-by: Sven Anders <anders@anduras.de> Signed-off-by: Marcus Junker <junker@anduras.de> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
* | | | Merge branch 'upstream-linus' of ↵Linus Torvalds2006-12-0239-5/+60
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: [PATCH] libata: add missing sht->slave_destroy [PATCH] ahci: ignore PORT_IRQ_IF_ERR on JMB controllers
| * \ \ \ Merge branch 'tj-upstream-fixes' of git://htj.dyndns.org/libata-tj into tmpJeff Garzik2006-11-3039-5/+60
| |\ \ \ \ | | |/ / / | |/| | |
| | * | | [PATCH] libata: add missing sht->slave_destroyTejun Heo2006-11-2938-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many LLDs are missing sht->slave_destroy. The method is mandatory to support device warm unplugging (echo 1 > /sys/.../delete). Without it, libata might access released scsi device. Signed-off-by: Tejun Heo <htejun@gmail.com>
| | * | | [PATCH] ahci: ignore PORT_IRQ_IF_ERR on JMB controllersTejun Heo2006-11-291-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | JMicron AHCI controllers set PORT_IRQ_IF_ERR on device errors. The IRQ status bit indicates interface error or protocol mismatch and ahci driver interprets it into AC_ERR_ATA_BUS. So, whenever an ATAPI device raises check condition, ahci interprets it as ATA bus error and thus resets it which, in turn, raises check condition thus creating a reset loop and rendering the device unuseable. This patch makes JMB controllers ignore PORT_IRQ_IF_ERR when interpreting error condition. Signed-off-by: Tejun Heo <htejun@gmail.com> Cc: Justin Tsai <justin@jmicron.com>
* | | | | Merge branch 'for-linus' of ↵Linus Torvalds2006-12-0230-186/+281
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (25 commits) IB/ucm: Fix deadlock in cleanup IB/cm: Fix automatic path migration support IPoIB: Fix skb leak when freeing neighbour IB/srp: Fix memory leak on reconnect RDMA/addr: list_move() cleanups RDMA/addr: Fix some cancellation problems in process_req() RDMA/amso1100: Prevent deadlock in destroy QP IB/mthca: Fix initial SRQ logsize for mem-free HCAs IB/ehca: Use WQE offset instead of WQE addr for pending work reqs RDMA/iwcm: Fix comment for iwcm_deref_id() to match code RDMA/iwcm: Remove unnecessary function argument RDMA/iwcm: Remove unnecessary initializations RDMA/iwcm: Fix memory leak RDMA/iwcm: Fix memory corruption bug in cm_work_handler() IB: Convert kmem_cache_t -> struct kmem_cache IB/ipath: Fix typo in pma_counter_select subscript RDMA/amso1100: Fix section mismatches IB/mthca: Fix section mismatches IB/srp: Increase supported CDB size RDMA/cm: Remove setting local write as part of QP access flags ...
| * | | | | IB/ucm: Fix deadlock in cleanupMichael S. Tsirkin2006-11-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ib_ucm_cleanup_events() holds file_mutex while calling ib_destroy_cm_id(). This can deadlock since ib_destroy_cm_id() flushes event handlers, and ib_ucm_event_handler() needs file_mutex, too. Therefore, drop the file_mutex during the call to ib_destroy_cm_id(). Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | | | IB/cm: Fix automatic path migration supportSean Hefty2006-11-302-33/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ib_cm_establish() function is replaced with a more generic ib_cm_notify(). This routine is used to notify the CM that failover has occurred, so that future CM messages (LAP, DREQ) reach the remote CM. (Currently, we continue to use the original path) This bumps the userspace CM ABI. New alternate path information is captured when a LAP message is sent or received. This allows QP attributes to be initialized for the user when a new path is loaded after failover occurs. Signed-off-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | | | IPoIB: Fix skb leak when freeing neighbourMichael S. Tsirkin2006-11-303-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ipoib_neigh_free() is sometimes called while neighbour is still alive, so it might still have queued skbs. Fix skb leak in this case. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | | | IB/srp: Fix memory leak on reconnectVu Pham2006-11-301-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SRP reallocates the IU buffers for tx_ring and rx_ring without freeing the old buffers when it reconnects to a target. Fix this by keeping the old IU buffers around. Signed-off-by: Vu Pham <vu@mellanox.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | | | RDMA/addr: list_move() cleanupsRoland Dreier2006-11-301-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace a couple list_del()/list_add() combos with list_move(). Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | | | RDMA/addr: Fix some cancellation problems in process_req()Krishna Kumar2006-11-301-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix following problems in process_req() relating to cancellation: - Function is wrongly doing another addr_remote() when cancelled, which is not required. - Make failure reporting immediate by using time_after_eq(). - On cancellation, -ETIMEDOUT was returned to the callback routine instead of the more appropriate -ECANCELLED (users getting notified may want to print/return this status, eg ucma_event_handler). Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | | | RDMA/amso1100: Prevent deadlock in destroy QPKrishna Kumar2006-11-301-8/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is possible to swap the CQs used for send_cq and recv_cq when creating two different QPs. If these two QPs are then destroyed at the same time, an AB-BA deadlock can occur because the CQ locks are taken our of order. Fix this by always taking CQ locks in a fixed order. Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | | | IB/mthca: Fix initial SRQ logsize for mem-free HCAsJack Morgenstein2006-11-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When initializing an mthca SRQ, the log_srq_size field should be the log of the number of SRQ WQEs, not the log of the number of bytes in the SRQ. This affects only mthca drivers for memfree HCAs which set the initial srq wqe counter (in the SW2HW transition) to a non-zero value. Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | | | IB/ehca: Use WQE offset instead of WQE addr for pending work reqsHoang-Nam Nguyen2006-11-304-15/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a patch for ehca to fix a bug in prepare_sqe_to_rts(), which used WQE address to iterate pending work requests. This might cause an access violation since the queue pages can not be assumed to follow each other consecutively. Thus, this patch introduces a few queue functions to determine WQE offset based on its address and uses WQE offset to iterate the pending work requests. Signed-off-by: Hoang-Nam Nguyen <hnguyen@de.ibm.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | | | RDMA/iwcm: Fix comment for iwcm_deref_id() to match codeKrishna Kumar2006-11-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In iwcm_deref_id(), the comment says : "If the last reference is being removed and iw_destroy_cm_id is waiting, wake up the waiting thread". The second part of the comment, "and iw_destroy_cm_id is waiting," is wrong, since this function either wakes the waiter already waiting in iwcm_deref_id, or enables it (so that when wait_for_completion() is performed later, it will immediately return). Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com> Acked-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | | | RDMA/iwcm: Remove unnecessary function argumentKrishna Kumar2006-11-301-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove unnecessary cm_id_priv argument to copy_private_data(), and change text to reflect the code. Fix couple of typos in comments. Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com> Acked-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | | | RDMA/iwcm: Remove unnecessary initializationsKrishna Kumar2006-11-301-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com> Acked-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | | | RDMA/iwcm: Fix memory leakKrishna Kumar2006-11-301-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we get IW_CM_EVENT_CONNECT_REQUEST message and encounter an error (not in the LISTEN state, cannot create an id, cannot alloc work_entry, etc), then the memory allocated by cm_event_handler() in the event->private_data gets leaked. Since cm_work_handler has already put the event on the work_free_list, this allocated memory is leaked. High backlog value can allow DoS attacks. Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com> Acked-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | | | RDMA/iwcm: Fix memory corruption bug in cm_work_handler()Krishna Kumar2006-11-301-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Possible memory corruption scenario: after putting the work entry back on the work_free_list, we call process_event() which dereferences work->event, which could have been modified to another value meanwhile. Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com> Acked-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
| * | | | | IB: Convert kmem_cache_t -> struct kmem_cacheRoland Dreier2006-11-303-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Roland Dreier <rolandd@cisco.com>