summaryrefslogtreecommitdiffstats
path: root/drivers
AgeCommit message (Collapse)Author
2007-06-08Char: stallion, proper fail return valuesJiri Slaby
do not return 0 in one case and return proper values in other 2. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-08Char: stallion, alloc tty before pci devices initJiri Slaby
this causes oops, because pci probe function calls tty_register_device for each device found. Thanks to Ingo. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: "Ingo Korb" <ingo@akana.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-08Char: stallion, don't fail with less than max panelsJiri Slaby
Since it's not neccesary to have MAX_PANELS on the card, don't fail to let users use this card even in this case. Stop the testing for loop instead. Thanks to Ingo. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: "Ingo Korb" <ingo@akana.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-08potential parse error in ifdef part 3Yoann Padioleau
Fix various bits of obviously-busted code which we're not happening to compile, due to ifdefs. Signed-off-by: Yoann Padioleau <padator@wanadoo.fr> Cc: Andi Kleen <ak@suse.de> Cc: Paul Mackerras <paulus@samba.org> Acked-by: Paul Mundt <lethal@linux-sh.org> Cc: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-08loop: preallocate eight loop devicesKen Chen
The kernel on-demand loop device instantiation breaks several user space tools as the tools are not ready to cope with the "on-demand feature". Fix it by instantiate default 8 loop devices and also reinstate max_loop module parameter. Signed-off-by: Ken Chen <kenchen@google.com> Acked-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-08OHCI: Fix machine check in ohci_hub_status_dataAlan Stern
This patch (as901) fixes an oversight in ohci-hcd. The hub_status_data routine must not try to access the controller's memory-mapped registers if the controller is in a low-power state; such attempts will cause a crash on some architectures (such as PPC). Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-06-08USB: Fix up bogus bInterval values in endpoint descriptorsAlan Stern
This patch (as904) adds code to check for endpoint descriptor bInterval values outside the legal limits. Illegal values are set to 32 ms, which seems like a reasonable default. This fixes Bugzilla #8432. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-06-08USB: cxacru: ignore error trying to start ADSL in atm_startSimon Arlott
The sysfs adsl_status attribute ignores (aside from returning -EIO to the user) any error sending a START/STOP command to the device and there is at least one firmware which never sends a response but appears to work regardless. Therefore atm_start should also continue if an error is received so that such firmware is usable. The official Conexant driver doesn't expect a reply either but this is for another device (E2 router) and a commonly used firmware does respond. Also, there is no point in changing -ECONNRESET to -ETIMEDOUT since nothing ever checks for either of these values. Signed-off-by: Simon Arlott <simon@fire.lp0.eu> Cc: Duncan Sands <duncan.sands@math.u-psud.fr> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-06-08USB: cxacru: create sysfs attributes in atm_start instead of bindSimon Arlott
Since usbatm doesn't set the usb_interface driver data until after calling bind and heavy_init, it would be NULL when the sysfs attributes are read. Reading the MAC address from atm_dev before atm_dev exists would have been be possible too. Calling create_device_file in atm_start will avoid this problem, and the data is useless until the first status poll runs. However, it must be ready before a status poll does a printk on line status change otherwise userspace could react before the files exist. For completeness I've moved remove_device_file to atm_stop so it's not called in unbind when it's not needed. There's no point starting ADSL if atm_start could still fail either. Signed-off-by: Simon Arlott <simon@fire.lp0.eu> Cc: Duncan Sands <duncan.sands@math.u-psud.fr> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-06-08USB: UNUSUAL_DEV: Sync up some reported devices from UbuntuBen Collins
UNUSUAL_DEV: Sync up some reported devices from Ubuntu Various unusual dev entries accumulated from Ubuntu bug reports. Signed-off-by: Ben Collins <bcollins@ubuntu.com> Cc: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Phil Dibowitz <phil@ipom.com>
2007-06-08USB: usb gadgets avoid le{16,32}_to_cpup()David Brownell
It turns out that le16_to_cpup() and le32_to_cpup() aren't always safe to call with pointers into packed structures, since those are inlined functions and GCC may lose the "packed" attribute. So those references can become unaligned kernel accesses, which are evil on some hardware. This patch updates uses of those routines in the gadget stack. The references into packed structures can just use leXX_to_cpu(*x), which in most cases is more natural. Some other uses in RNDIS, mostly in debug code, were wrong in the first place; those use get_unaligned(). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-06-08usblp: Don't let suspend to kill ->usedPete Zaitcev
Suspend destroys refcounting for open/release. Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-06-08USB: set default y for CONFIG_USB_DEVICE_CLASSKay Sievers
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Cc: bert hubert <bert.hubert@netherlabs.nl> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-06-08firmware: remove orphaned EmailMarkus Rechberger
Manuel Estrada Sainz passed away on May 9th 2004, his email account got deactivated. He was in charge of the firmware_class code, and still got CC'ed in recent discussions about it. Signed-off-by: Markus Rechberger <markus.rechberger@amd.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-06-08Driver core: kill unused codeStephen Hemminger
CC drivers/base/dd.o drivers/base/dd.c:211: warning: =E2=80=98device_probe_drivers=E2=80=99 defi= ned but not used Looks like the following is dead. Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-06-08Driver core: keep PHYSDEV for old struct class_deviceKay Sievers
Class-devices created by "struct class_device" are going to be replaced by "struct device". Keep the deprecated PHYSDEV* variables for the already "deprecated" struct class_device" devices. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-06-08ide: Add the MCP73/77 support to PATA driverPeer Chen
Add the MCP73/MCP77 support to PATA driver. bart: Added amd74xx_chipsets[] and amd_pci_tbl[] entries. bart: Bumped driver version. Signed-off-by: Peer Chen <peerchen@gmail.com> Cc: Alan Cox <alan@redhat.com>, Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Jeff Garzik <jeff@garzik.org> Cc: Tejun Heo <htejun@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-06-08hpt366: disallow Ultra133 for HPT374Sergei Shtylyov
Eliminate UltraATA/133 support for HPT374 -- the chip isn't capable of this mode according to the manual, and doesn't even seem to tolerate 66 MHz DPLL clock... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Geller Sandor <wildy@petra.hos.u-szeged.hu> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-06-08ide: generic IDE PCI driver, add another device exceptionJiri Slaby
generic IDE PCI driver, add another device exception This device is char device and is grabbed by generic ide driver: 00:0b.0 Class ffff: National Semiconductor Corporation 87410 IDE (rev ff) (prog-if ff) Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- Disallow generic IDE PCI driver to grab it by adding next condition. Also consolidate exceptions to one bigger 'switch (dev->vendor)'. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: Ingo Korb <ml@akana.de> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-06-08ide: HPA detect from resumeLee Trager
Currently when system which have HPA require HPA to be detected and disabled upon resume from RAM or disk. The current IDE drivers do not do this nor does libata (obviously it since it doesn't support HPA yet). I have implemented this into the current IDE drivers and it has been tested by many others since 7/15/2006 in bug number 6840: http://bugzilla.kernel.org/show_bug.cgi?id=6840 and it has been confirmed to work fine with no problems. bart: added drv != NULL check to generic_ide_suspend() From: Lee Trager <lt73@cs.drexel.edu> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-06-08it821x: RAID mode fixesBartlomiej Zolnierkiewicz
The DMA support for RAID mode broke after: commit 71ef51cc1756d1c56b57c70e7cc27a3559c81ee6 Author: Jens Axboe <axboe@suse.de> Date:   Fri Jul 28 09:02:17 2006 +0200     [PATCH] it821x: fix ide dma setup bug     Only enable dma for a valid speed setting.     Signed-off-by: Jens Axboe <axboe@suse.de> commit 0a8348d08677ad77ee353f96eb8745c693a05a13 Author: Jens Axboe <axboe@suse.de> Date:   Fri Jul 28 08:58:26 2006 +0200     [PATCH] ide: if the id fields looks screwy, disable DMA     It's the safer choice. Originally due to a bug in itx821x, but a     generally sound thing to do.     Signed-off-by: Jens Axboe <axboe@suse.de> However it worked by pure luck before Jens' fixes: bogus ide_dma_enable() usage in it821x driver combined with loosy check in ide_dma_verbose() allowed the hardware to operate in DMA mode. When these problems were fixed the DMA support broke... The source root for the regression turned out to be that the it821x.c code was clearing too much of id->field_valid. The IDE core code was using the original value of id->field_valid to do the tuning but later DMA got disabled in ide_dma_verbose() because of the incorrect id->field_valid fixup. Fix it. While at it: * Do fixup() after probing the drives but before tuning them (which is also OK w.r.t. ide_undecoded_slave() fixup). This change fixes device IDENTIFY data to be consistent before/after the tuning and allows us to remove extra re-tuning of drives from it821x_fixups(). * Fake MWDMA0 enabled/supported bits in IDENTIFY data if the device has DMA capable bit set (this is just to tell the IDE core that DMA is supported since it821x firmware takes care of DMA mode programming). * Don't touch timing registers and don't program transfer modes on devices et all when in RAID mode - depend solely on firmware to do the tuning (as suggested by Alan Cox and done in libata pata_it821x driver). Thanks for testing the patch goes out to Thomas Kuther. Cc: Thomas Kuther <gimpel@sonnenkinder.org> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Jens Axboe <axboe@suse.de> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-06-08serverworks: fix CSB6 tuning logicBartlomiej Zolnierkiewicz
Problem noticed by Joe Zbiciak, see http://kerneltrap.org/node/8252 for details. On CSB6 the driver is using BIOS settings and not programming DMA/PIO timings itself. However the logic was completely broken and resulted in wrong timings being silently allowed (instead of being corrected by the driver). This bug would explain some data corruption/timeout issues with Serverworks MegaIDE in RAID mode that Alan Cox has fixed recently with: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=2074a106f52b6371885afbd714e929d60d0e3f64 For 2.6.23 we may be better off with completely switching the driver to always programming timings (libata pata_serverworks.c driver is doing things this way and there were no problems reported so far) but for 2.6.22 lets fix the bug in the simplest and the least intrusive way. Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-06-08serverworks: remove crappy codeBartlomiej Zolnierkiewicz
Remove crappy code noticed by Linus, see http://lkml.org/lkml/2007/5/23/476 for details. While at it simplify logic a bit. There should be no functionality changes caused by this patch. Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
2007-06-08V4L/DVB (5751): Ivtv: fix ia64 printk format warnings.Hans Verkuil
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-08V4L/DVB (5761): Fix broken b2c2 dependency on non x86 architecturesMauro Carvalho Chehab
This patch moves flexcop-dma (currently used only by flexcop-pci) to b2c2-flexcop-pci module, that is dependent on CONFIG_PCI, fixing the bug as reported by Geert Uytterhoeven <geert@linux-m68k.org>: drivers/media/dvb/b2c2/flexcop-dma.c uses the PCI DMA API, but DVB_B2C2_FLEXCOP doesn't depend on PCI, causing the following problem on PCI-less systems: | linux/drivers/media/dvb/b2c2/flexcop-dma.c:20: warning: implicit declaration of function 'pci_alloc_consistent' | linux/drivers/media/dvb/b2c2/flexcop-dma.c:20: warning: implicit declaration of function 'pci_alloc_consistent' Apparently this is the flexcop DMA core, which is used by both DVB_B2C2_FLEXCOP_PCI and DVB_B2C2_FLEXCOP_USB. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-08V4L/DVB (5673): Fix audio stuttering for saa711x/ivtv when in radio mode.Hans Verkuil
Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-08V4L/DVB (5732): Add ivtv CROPCAP support and fix ivtv S_CROP for video output.Hans Verkuil
The VIDIOC_CROPCAP ioctl was missing in ivtv. The handling of output video cropping was wrong. This has now been fixed. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-08V4L/DVB (5730): Remove unused V4L2_CAP_VIDEO_OUTPUT_POSHans Verkuil
V4L2_CAP_VIDEO_OUTPUT_POS was initially introduced for 2.6.22 but never actually used: remove it before the final 2.6.22 is made. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-08V4L/DVB (5720): Usbvision: fix urb allocation and submitsThierry Merle
- fixed the urb allocation part that was not taking into account the current alternate setting this fixes usb_submit_urb returning -90 errno in isocIrq. - fixed usb_submit_urb returning -1 errno in isocIrq (need to ignore usb urb with status==-ENOENT) Acked-by: Dwaine P. Garden <dwainegarden@rogers.com> Signed-off-by: Thierry Merle <thierry.merle@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-08V4L/DVB (5716): Tda10086,tda826x: fix tuning, STR/SNR valuesOliver Endriss
Several people reported unreliable reception with the current driver. Furthermore, STR and SNR values seem to be inverted. This fix is based on a patch posted by Hartmut Hackman. Thanks to Helmut Auer for testing and helping to optimize the patch. tda826x: - set baseband cut-off to 19 MHz tda10086: - change the parameters of the carrier recovery loop - toggle register 0x02 between 0x35 (tuning) and 0x00 (locked) - invert STR and SNR values Signed-off-by: Oliver Endriss <o.endriss@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-08V4L/DVB (5675): Move big PIO accesses from the interrupt handler to a ↵Hans Verkuil
workhandler Sliced VBI transfers use PIO instead of DMA. This was done inside the interrupt handler, but since PIO accesses are very slow this meant that a lot of time was spent inside the interrupt handler. All PIO copies are now moved to a workqueue. This should fix various issues with missing time ticks and remote key hits. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-08V4L/DVB (5699): Cinergyt2: fix file release handlerAndrew Morton
If this mutex_lock_interruptible() does fail due to signal_pending() then the state of the driver will get trashed in interesting ways, because userspace cannot and will not retry the close(). Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-08V4L/DVB (5700): Saa7111: fix picture settings cache bugRussell King
If the SAA7111 device is powered down, and requires re-initialisation when the V4L device is opened (as on the NetWinder), the SAA7111 driver gets completely confused about the current settings. The problem is centred around the way the driver keeps _two_ cached copies of the current settings - one of the struct video_picture settings, and one of the registers. When the decoder is re-initailised, the cached register settings are overwritten, as are the values in the hardware registers. However, the cached video_picture settings are not. Resolve this by removing the useless and buggy second level of caching for video_picture. Instead, provide a function which updates register values if and only if the value we are going to write to the register has changed. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-08V4L/DVB (5702): Fix Kconfig items to avoid linkedition errorsMauro Carvalho Chehab
The recent changes on Kconfig broke compilation when VIDEO_DEV is compiled as module. On some cases, drivers like VIDEO_BUF are compiled with 'y' option instead of 'm': ... Thanks to: Toralf Forster <toralf.foerster@gmx.de> for pointing this issue. Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-06-07IB/mlx4: Make sure RQ allocation is always validRoland Dreier
QPs attached to an SRQ must never have their own RQ, and QPs not attached to SRQs must have an RQ with at least 1 entry. Enforce all of this in set_rq_size(). Based on a patch by Eli Cohen <eli@mellanox.co.il>. Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-06-07RDMA/cma: Fix initialization of next_portSean Hefty
next_port should be between sysctl_local_port_range[0] and [1]. However, it is initially set to a random value with get_random_bytes(). If the value is negative when treated as a signed integer, next_port can end up outside the expected range because of the result of the % operator being negative. Signed-off-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-06-07IB/mlx4: Fix zeroing of rnr_retry value in ib_modify_qp()Jack Morgenstein
The code in __mlx4_ib_modify_qp() overwrites context->params1 after the RNR retry parameter is ORed in, which results in the RNR retry parameter always being set to 0. Fix this by moving where we OR in the value to later in the function, after the initial assignment of context->params1. Found by the Mellanox firmware group. Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-06-07mlx4_core: Don't set MTT address in dMPT entries with PA setJack Morgenstein
If a dMPT entry has the PA flag (direct physical address) set, then the (unused) MTT base address field has to be set to 0. Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-06-07mlx4_core: Check firmware command interface revisionRoland Dreier
HCA firmware with incompatible changes to the FW commmand interface is coming soon. Add a check of the interface revision during initialization and bail out if the firmware advertises a revision that the driver doesn't know about. This will avoid strange failures later if the driver goes on using the wrong interface revision. Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-06-07Merge branch 'master' of ↵Linus Torvalds
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (24 commits) xfrm: Add security check before flushing SAD/SPD [NET_SCHED]: Fix filter double free [NET]: Avoid duplicate netlink notification when changing link state [UDP]: Revert 2-pass hashing changes. [AF_UNIX]: Fix stream recvmsg() race. [NETFILTER]: nf_conntrack_amanda: fix textsearch_prepare() error check [NETFILTER]: ip_tables: fix compat related crash [NETFILTER]: nf_conntrack: fix helper module unload races [RTNETLINK]: ifindex 0 does not exist [NETLINK]: Mark netlink policies const [TCP] tcp_probe: Attach printf attribute properly to printl(). [TCP]: Use LIMIT_NETDEBUG in tcp_retransmit_timer(). [NET]: Merge dst_discard_in and dst_discard_out. [RFKILL]: Make rfkill->name const [IPV4]: Restore old behaviour of default config values [IPV4]: Add default config support after inetdev_init [IPV4]: Convert IPv4 devconf to an array [IPV4]: Only panic if inetdev_init fails for loopback [TCP]: Honour sk_bound_dev_if in tcp_v4_send_ack [BNX2]: Update version and reldate. ...
2007-06-07Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds
* master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] pxa: fix pxa27x keyboard driver [ARM] Fix 4417/1: Serial: Fix AMBA drivers locking [ARM] 4421/1: AT91: Value of _KEY fields. [ARM] Solve buggy smp_processor_id() usage [ARM] 4422/1: Fix default value handling in gpio_direction_output (PXA) [ARM] 4419/1: AT91: SAM9 USB clocks check for suspending [ARM] 4418/1: AT91: Number of programmable clocks differs [ARM] 4392/2: Do not corrupt the SP register in compressed/head.S
2007-06-07[IPV4]: Convert IPv4 devconf to an arrayHerbert Xu
This patch converts the ipv4_devconf config members (everything except sysctl) to an array. This allows easier manipulation which will be needed later on to provide better management of default config values. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-06-07[BNX2]: Update version and reldate.Michael Chan
Update to version 1.5.11. Signed-off-by: Michael Chan <mchan@broadcom.com> Acked-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-06-07[BNX2]: Fix occasional counter corruption on 5708.Michael Chan
The statistics block DMA on 5708 can be messed up occasionally on the average of about once per hour. If the user is reading the counters within one second after the corruption, the counters will be all messed up. One second later, the counters will be ok again until the next corruption occurs. The workaround is to disable the periodic statistics DMA. Instead, we manually trigger the DMA once a second in bnx2_timer(). This manual trigger of the DMA avoids the problem. As a consequence, we can only allow 0 or 1 second settings for ethtool -C statistics block. Thanks to Jean-Daniel Pauget <jd@disjunkt.com> and CaT <cat@zip.com.au> for reporting this rare problem. Signed-off-by: Michael Chan <mchan@broadcom.com> Acked-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-06-07[BNX2]: Enable DMA on 5709.Michael Chan
Add missing code to enable DMA on 5709 A1. The bit is a no-op on A0 and therefore can be set on all 5709 chips. Signed-off-by: Michael Chan <mchan@broadcom.com> Acked-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-06-07[BNX2]: Add missing wait in bnx2_init_5709_context().Michael Chan
For correctness, we need to wait for the MEM_INIT bit to be cleared in the BNX2_CTX_COMMAND register before proceeding. [Added return -EBUSY when the MEM_INIT bit doesn't clear, suggested by Jeff Garzik.] Signed-off-by: Michael Chan <mchan@broadcom.com> Acked-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-06-07[BNX2]: Fix netdev watchdog on 5708.Michael Chan
There's a bug in the driver that only initializes half of the context memory on the 5708. Surprisingly, this works most of the time except for some occasional netdev watchdogs when sending a lot of 64-byte packets. The fix is to add the missing code to initialize the 2nd halves of all context memory. Signed-off-by: Michael Chan <mchan@broadcom.com> Acked-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-06-07IB/mthca, mlx4_core: Fix typo in commentRoland Dreier
s/signifant/significant/ Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-06-07mlx4_core: Free catastrophic error MSI-X interrupt with correct dev_idRoland Dreier
We need to pass the same dev_id to free_irq() and request_irq(). When using MSI-X, the MLX4_EQ_CATAS interrupt uses a different dev_id from the other interrupts. Signed-off-by: Roland Dreier <rolandd@cisco.com>
2007-06-07mlx4_core: Initialize ctx_list and ctx_lock earlierRoland Dreier
We may call mlx4_dispatch_event() before mlx4_register_device() is called for a device, because for example a catastrophic error happens immediately after we enable interrupts. Therefore priv->ctx_list and priv->ctx_lock need to be initialized earlier. This bug was actually exposed by the MSI-X bug that returned IRQ numbers to drivers in reverse order, so that the first FW command interrupt looked to mlx4 like a catastrophic error. Signed-off-by: Roland Dreier <rolandd@cisco.com>