summaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] FDPIC: Move roundup() into linux/kernel.hDavid Howells2006-07-101-1/+0
| | | | | | | | | | Move the roundup() macro from binfmt_elf.c into linux/kernel.h as it's generally useful. [akpm@osdl.org: nuke all the other implementations] Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] usb-storage: wait for URB to completeAlan Stern2006-07-101-1/+1
| | | | | | | | | | | | | | | | We all failed to notice that Franck's recent update to usb-storage allowed an URB to complete after its context data was no longer valid. This patch (as746) makes the driver wait for the URB to complete whenever there's a timeout. Although timeouts in usb-storage are relatively uncommon, they do occur. Without this patch the code in 2.6.18-rc1 will fault within an interrupt handler, which is not nice at all. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] pci: initialize struct pci_dev.error_stateLinas Vepstas2006-07-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The pci channel state is currently uninitialized, thus there are two ways of indicating that "everything's OK": 0 and 1. This is a bit of a burden. If a devce driver wants to check if the pci channel is in a working or a disconnected state, the driver writer must perform checks similar to if((pdev->error_state != 0) && (pdev->error_state != pci_channel_io_normal)) { whatever(); } which is rather akward. The first check is needed because stuct pci_dev is inited to all-zeros. The scond is needed because the error recovery will set the state to pci_channel_io_normal (which is not zero). This patch fixes this awkwardness. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] powermac: Combined fixes for backlight codeMichael Hanselmann2006-07-108-85/+131
| | | | | | | | | | | | | | | | | | | | | | This patch fixes several problems: - pmac_backlight_key() is called under interrupt context, and therefore can't use mutexes or semaphores, so defer the backlight level for later, as it's not critical (original code by Aristeu S. Rozanski F. <aris@valeta.org>). - Add exports for functions that might be called from modules - Fix Kconfig depdencies on PMAC_BACKLIGHT. - Fix locking issues on calls from inside the driver (reported by Aristeu S. Rozanski F., too) - Fix wrong calculation of backlight values in some of the drivers - Replace pmac_backlight_key_up/down by inline functions [akpm@osdl.org: fix function prototypes] Signed-off-by: Michael Hanselmann <linux-kernel@hansmi.ch> Acked-by: Aristeu S. Rozanski F. <aris@valeta.org> Acked-by: Rene Nussbaumer <linux-kernel@killerfox.forkbomb.ch> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] powerpc: fix SMU driver interrupt mappingBenjamin Herrenschmidt2006-07-101-15/+38
| | | | | | | | | | | | | | The SMU driver tries to map an interrupt from the device-tree before the interrupt controllers in the machine have been enumerated. This doesn't work properly and cause machines like the Quad g5 to fail booting later on when some drivers waits endlessly for an SMU request to complete. This is the second problem preventing boot on the Quad g5. This fixes it and also makes the SMU driver a bit more resilient to not having an interrupt. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] powerpc: fix trigger handling in the new irq codeBenjamin Herrenschmidt2006-07-102-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch slightly reworks the new irq code to fix a small design error. I removed the passing of the trigger to the map() calls entirely, it was not a good idea to have one call do two different things. It also fixes a couple of corner cases. Mapping a linux virtual irq to a physical irq now does only that. Setting the trigger is a different action which has a different call. The main changes are: - I no longer call host->ops->map() for an already mapped irq, I just return the virtual number that was already mapped. It was called before to give an opportunity to change the trigger, but that was causing issues as that could happen while the interrupt was in use by a device, and because of the trigger change, map would potentially muck around with things in a racy way. That was causing much burden on a given's controller implementation of map() to get it right. This is much simpler now. map() is only called on the initial mapping of an irq, meaning that you know that this irq is _not_ being used. You can initialize the hardware if you want (though you don't have to). - Controllers that can handle different type of triggers (level/edge/etc...) now implement the standard irq_chip->set_type() call as defined by the generic code. That means that you can use the standard set_irq_type() to configure an irq line manually if you wish or (though I don't like that interface), pass explicit trigger flags to request_irq() as defined by the generic kernel interfaces. Also, using those interfaces guarantees that your controller set_type callback is called with the descriptor lock held, thus providing locking against activity on the same interrupt (including mask/unmask/etc...) automatically. A result is that, for example, MPIC's own map() implementation calls irq_set_type(NONE) to configure the hardware to the default triggers. - To allow the above, the irq_map array entry for the new mapped interrupt is now set before map() callback is called for the controller. - The irq_create_of_mapping() (also used by irq_of_parse_and_map()) function for mapping interrupts from the device-tree now also call the separate set_irq_type(), and only does so if there is a change in the trigger type. - While I was at it, I changed pci_read_irq_line() (which is the helper I would expect most archs to use in their pcibios_fixup() to get the PCI interrupt routing from the device tree) to also handle a fallback when the DT mapping fails consisting of reading the PCI_INTERRUPT_PIN to know wether the device has an interrupt at all, and the the PCI_INTERRUPT_LINE to get an interrupt number from the device. That number is then mapped using the default controller, and the trigger is set to level low. That default behaviour works for several platforms that don't have a proper interrupt tree like Pegasos. If it doesn't work for your platform, then either provide a proper interrupt tree from the firmware so that fallback isn't needed, or don't call pci_read_irq_line() - Add back a bit that got dropped by my main rework patch for properly clearing pending IPIs on pSeries when using a kexec Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] ACPI: fix fan/thermal resumeKonstantin Karasyov2006-07-101-1/+16
| | | | | | | | | | | | | | | | | | | | Daniel Ritz <daniel.ritz-ml@swissonline.ch> says: The acpi driver suspend/resume patches that went in recently caused a regression on my box (toshiba tecra 8000 laptop): after resume from swsusp the fan turns on keeping blowing cold air out of my notebook. before the patches, the fan was off and would only make noise when required. it's the same thing described in bugzilla.kernel.org #5000. the acpi suspend/resume patches or at least parts of them originate in this bug. now the last patch in the report (attach id 8438) actually fixes the problem - for me and the reporter. this is a trimmed down version of that patch. Signed-off-by: Daniel Ritz <daniel.ritz@gmx.ch> Cc: Len Brown <len.brown@intel.com> Cc: Sanjoy Mahajan <sanjoy@mrao.cam.ac.uk> Cc: Pavel Machek <pavel@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] md: fix oops in error-handlingAndrew Morton2006-07-101-0/+2
| | | | | | | | | During early MD setup (superblock reading), we don't have a personality yet. But the error-handling code tries to dereference mddev->pers. Fix. Acked-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] md: include sector number in messages about corrected read errorsNeilBrown2006-07-103-7/+30
| | | | | | | | | | This is generally useful, but particularly helps see if it is the same sector that always needs correcting, or different ones. [akpm@osdl.org: fix printk warnings] Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] md: require CAP_SYS_ADMIN for (re-)configuring md devices via sysfsNeilBrown2006-07-101-0/+4
| | | | | | | | | | | | The ioctl requires CAP_SYS_ADMIN, so sysfs should too. Note that we don't require CAP_SYS_ADMIN for reading attributes even though the ioctl does. There is no reason to limit the read access, and much of the information is already available via /proc/mdstat Cc: Chris Wright <chrisw@sous-sol.org> Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] md: unify usage of symbolic names for permsNeilBrown2006-07-101-29/+27
| | | | | | | | | | | Some places we use number (0660) someplaces names (S_IRUGO). Change all numbers to be names, and change 0655 to be what it should be. Also make some formatting more consistent. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] md: fix usage of wrong variable in raid1NeilBrown2006-07-101-1/+1
| | | | | | | | | Though it rarely matters, we should be using 's' rather than r1_bio->sector here. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] md: fix some small races in bitmap plugging in raid5NeilBrown2006-07-101-3/+27
| | | | | | | | | | The comment gives more details, but I didn't quite have the sequencing write, so there was room for races to leave bits unset in the on-disk bitmap for short periods of time. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] md: fix a plug/unplug race in raid5NeilBrown2006-07-101-12/+6
| | | | | | | | | | | | | | | | When a device is unplugged, requests are moved from one or two (depending on whether a bitmap is in use) queues to the main request queue. So whenever requests are put on either of those queues, we should make sure the raid5 array is 'plugged'. However we don't. We currently plug the raid5 queue just before putting requests on queues, so there is room for a race. If something unplugs the queue at just the wrong time, requests will be left on the queue and nothing will want to unplug them. Normally something else will plug and unplug the queue fairly soon, but there is a risk that nothing will. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] md: fix resync speed calculation for restarted resyncsNeilBrown2006-07-102-5/+8
| | | | | | | | | | | | | | | | | | We introduced 'io_sectors' recently so we could count the sectors that causes io during resync separate from sectors which didn't cause IO - there can be a difference if a bitmap is being used to accelerate resync. However when a speed is reported, we find the number of sectors processed recently by subtracting an oldish io_sectors count from a current 'curr_resync' count. This is wrong because curr_resync counts all sectors, not just io sectors. So, add a field to mddev to store the curren io_sectors separately from curr_resync, and use that in the calculations. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] md: delay starting md threads until array is completely setupNeilBrown2006-07-102-7/+4
| | | | | | | | | | | | | | | | When an array is started we start one or two threads (two if there is a reshape or recovery that needs to be completed). We currently start these *before* the array is completely set up and in particular before queue->queuedata is set. If the thread actually starts very quickly on another CPU, we can end up dereferencing queue->queuedata and oops. This patch also makes sure we don't try to start a recovery if a reshape is being restarted. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] md: set desc_nr correctly for version-1 superblocksNeilBrown2006-07-101-1/+5
| | | | | | | | | | | | This has to be done in ->load_super, not ->validate_super Without this, hot-adding devices to an array doesn't always work right - though there is a work around in mdadm-2.5.2 to make this less of an issue. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] md: possible fix for unplug problemNeilBrown2006-07-101-1/+1
| | | | | | | | | | | | | | | I have reports of a problem with raid5 which turns out to be because the raid5 device gets stuck in a 'plugged' state. This shouldn't be able to happen as 3msec after it gets plugged it should get unplugged. However it happens none-the-less. This patch fixes the problem and is a reasonable thing to do, though it might hurt performance slightly in some cases. Until I can find the real problem, we should probably have this workaround in place. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] tty: Remove include of screen_info.h from tty.hJon Smirl2006-07-103-1/+3
| | | | | | | | | | | | | | | | screen_info.h doesn't have anything to do with the tty layer and shouldn't be included by tty.h. This patches removes the include and modifies all users to directly include screen_info.h. struct screen_info is mainly used to communicate with the console drivers in drivers/video/console. Note that this patch touches every arch and I have no way of testing it. If there is a mistake the worst thing that will happen is a compile error. [akpm@osdl.org: fix arm build] [akpm@osdl.org: fix alpha build] Signed-off-by: Jon Smirl <jonsmir@gmail.com> Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] vt: Remove VT-specific declarations and definitions from tty.hJon Smirl2006-07-1067-66/+11
| | | | | | | | | | | | | MAX_NR_CONSOLES, fg_console, want_console and last_console are more of a function of the VT layer than the TTY one. Moving these to vt.h and vt_kern.h allows all of the framebuffer and VT console drivers to remove their dependency on tty.h. [akpm@osdl.org: fix alpha build] Signed-off-by: Jon Smirl <jonsmir@gmail.com> Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] hisax: fix usage of __init*Karsten Keil2006-07-1032-86/+86
| | | | | | | | | Fix the warnings about the section mismatches for __init* in the HiSax driver. Signed-off-by: Karsten Keil <kkeil@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] release_firmware() fixesMagnus Damm2006-07-107-26/+25
| | | | | | | | | | | | | | | | | | Use release_firmware() to free requested resources. According to Documentation/firmware_class/README the request_firmware() call should be followed by a release_firmware(). Some drivers do not however free the firmware previously allocated with request_firmware(). This patch tries to fix this by making sure that release_firmware() is used as expected. Signed-off-by: Magnus Damm <magnus@valinux.co.jp> Acked-by: Marcel Holtmann <marcel@holtmann.org> Cc: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: "John W. Linville" <linville@tuxdriver.com> Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] cdrom: fix bad cgc.buflen assignmentJens Axboe2006-07-101-1/+1
| | | | | | | | | | The code really means to mask off the high bits, not assign 0xff. Signed-off-by: Jens Axboe <axboe@suse.de> Cc: Marcus Meissner <meissner@suse.de> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Add Specialix IO8+ card support hotplug supportChuck Short2006-07-101-0/+6
| | | | | | | | | | | | | | Patch Description: Add "Specialix IO8+ card support" hotplug support patch location: http://www.kernel.org/git/?p=linux/kernel/git/bcollins/ubuntu-dapper.git;a=commitdiff;h=d795cfc591bb44f6b3d86d8f054a227cecb44bb4 [akpm@osdl.org: cleanup] Cc: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Chuck Short <zulcss@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] Add Computone IntelliPort Plus serial hotplug supportChuck Short2006-07-101-0/+7
| | | | | | | | | | | | | | Patch Description: Add "Computone IntelliPort Plus serial" hotplug support patch location: http://www.kernel.org/git/?p=linux/kernel/git/bcollins/ubuntu-dapper.git;a=commitdiff;h=8c36723187c0fa5efe0e5c6a9b1e66ed4b824792 [akpm@osdl.org: cleanup] Cc: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Chuck Short <zulcss@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] don't select CONFIG_HOTPLUGAndrew Morton2006-07-103-4/+3
| | | | | | | | | | | | | | It's useful to be able to turn off CONFIG_HOTPLUG for compile-coverage testing and for section-checking coverage. But a few things go and select CONFIG_HOTPLUG, making it a royal PITA to turn the thing off. It's only turnable offable if CONFIG_EMBEDDED anyway. So let's make those things depend on HOTPLUG, not select it. Cc: Greg KH <greg@kroah.com> Cc: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* Merge commit master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 of HEADLinus Torvalds2006-07-0913-16/+18
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * HEAD: [AX.25]: Use kzalloc [ATM] net/atm/clip.c: fix PROC_FS=n compile [PKT_SCHED]: act_api: Fix module leak while flushing actions [NET]: Fix IPv4/DECnet routing rule dumping [NET] gso: Fix up GSO packets with broken checksums [NET] gso: Add skb_is_gso [IRDA]: fix drivers/net/irda/ali-ircc.c:ali_ircc_init() [ATM]: fix possible recursive locking in skb_migrate() [ATM]: Typo in drivers/atm/Kconfig... [TG3]: add amd8131 to "write reorder" chipsets [NET]: Fix network device interface printk message priority
| * [NET] gso: Add skb_is_gsoHerbert Xu2006-07-0810-14/+13
| | | | | | | | | | | | | | | | | | | | This patch adds the wrapper function skb_is_gso which can be used instead of directly testing skb_shinfo(skb)->gso_size. This makes things a little nicer and allows us to change the primary key for indicating whether an skb is GSO (if we ever want to do that). Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [IRDA]: fix drivers/net/irda/ali-ircc.c:ali_ircc_init()Adrian Bunk2006-07-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The Coverity checker spotted, that from the changes from commit 898b1d16f8230fb912a0c2248df685735c6ceda3 the if (ret) platform_driver_unregister(&ali_ircc_driver); was dead code. This patch changes this function to what seems to have been the intention. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [ATM]: Typo in drivers/atm/Kconfig...Matt LaPlante2006-07-081-1/+1
| | | | | | | | | | | | From: Matt LaPlante <kernel1@cyberdogtech.com> Signed-off-by: Charles Williams <chas@cmf.nrl.navy.mil> Signed-off-by: David S. Miller <davem@davemloft.net>
| * [TG3]: add amd8131 to "write reorder" chipsetsJohn W. Linville2006-07-081-0/+2
| | | | | | | | | | | | | | | | Add the AMD 8131 bridge to the list of chipsets that reorder writes. Signed-off-by: John W. Linville <linville@tuxdriver.com> Acked-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'upstream-linus' of ↵Linus Torvalds2006-07-099-559/+2523
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: (23 commits) [PATCH] 8139too deadlock fix [netdrvr] 3c59x: snip changelog from source code e1000: increase version to 7.1.9-k2 e1000: add ich8lan device ID's e1000: allow user to disable ich8 lock loss workaround e1000: integrate ich8 support into driver e1000: add ich8lan core functions e1000: disable ERT e1000: check return value of _get_speed_and_duplex e1000: M88 PHY workaround e1000: fix adapter led blinking inconsistency e1000: disable CRC stripping workaround e1000: force register write flushes to circumvent broken platforms e1000: rework module param code with uninitialized values e1000: recycle skb e1000: change printk into DPRINTK e1000: add smart power down code e1000: small performance tweak by removing double code e1000: fix CONFIG_PM blocks e1000: Make PHY powerup/down a function ...
| * \ Merge branch 'master' into upstreamJeff Garzik2006-07-068-252/+829
| |\ \ | | |/
| * | Merge branch 'upstream' of git://lost.foo-projects.org/~ahkok/git/netdev-2.6 ↵Jeff Garzik2006-07-057-391/+2520
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | into upstream Conflicts: drivers/net/e1000/e1000_main.c
| | * | e1000: increase version to 7.1.9-k2Auke Kok2006-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Increment the version to 7.1.9-k2 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: add ich8lan device ID'sAuke Kok2006-06-271-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the device ID's of the supported ICH8 LAN devices. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: allow user to disable ich8 lock loss workaroundAuke Kok2006-06-271-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The workaround for the ich8 lock loss problem is only needed for a very small amount of systems. This adds an option for the user to disable the workaround. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: integrate ich8 support into driverAuke Kok2006-06-274-130/+725
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This hooks up the ich8 structure into the driver itself. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: add ich8lan core functionsAuke Kok2006-06-273-7/+1392
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This implements the core new functions needed for ich8's internal NIC. This includes: * ich8 specific read/write code * flash/nvm access code * software semaphore flag functions * 10/100 PHY (fe - no gigabit speed) support for low-end versions * A workaround for a powerdown sequence problem discovered that affects a small number of motherboard. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: disable ERTAuke Kok2006-06-271-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hardware is reported to have problems with ERT. We disable it for all hardware to make sure we are not seeing unexplainable user problems. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: check return value of _get_speed_and_duplexAuke Kok2006-06-271-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were not checking the return value of get_speed_and_duplex properly, whih may contain an error value. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: M88 PHY workaroundAuke Kok2006-06-272-17/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | M88 rev 2 PHY needs a longer downshift to function properly. This adds a much longer downshift counter for this specific device. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: fix adapter led blinking inconsistencyAuke Kok2006-06-273-14/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several e1000 adapters were not blinking correctly or inconsistently. This patch cleans this up and makes them all behave the same as far as possible. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: disable CRC stripping workaroundAuke Kok2006-06-271-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CRC stripping is breaking SMBUS-connected BMC's. We disable this feature to make it work. This fixes related bugs regarding SOL. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: force register write flushes to circumvent broken platformsAuke Kok2006-06-272-9/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A certain AMD64 bridge (8132) has an option to turn on write combining which breaks our adapter. To circumvent this we need to flush every write. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: rework module param code with uninitialized valuesAuke Kok2006-06-271-106/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can take uninitialized values into account which minimizes code and allows us to simplify the parameter checking code greatly. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: recycle skbAuke Kok2006-06-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recycle an skb to improve performance a bit. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: change printk into DPRINTKAuke Kok2006-06-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changing a printk message to make clear that this message is originating from e1000. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: add smart power down codeAuke Kok2006-06-273-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Smart Power Down is a power saving feature in newer e1000 hardware. We disable it because it causes time to link to be long, but make it a user choice. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
| | * | e1000: small performance tweak by removing double codeAuke Kok2006-06-271-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | buffer_info is already filled at the end of this while() loop. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
OpenPOWER on IntegriCloud