- 11 Sep, 2002 5 commits
-
-
David S. Miller authored
-
David S. Miller authored
- The indirect register trick does not work so well on some 5701 variants, so just read back PCI_COMMAND to do this.
-
David S. Miller authored
- vlan_device_event is called by the networking with rtnl_lock held already, so if we use unregister_netdev we hang trying to get the rtnl semaphore again.
-
David S. Miller authored
- Keep cache of previously written vlan_tag value in TX ring. Avoid the TX descriptor write if they match.
-
David S. Miller authored
-
- 08 Sep, 2002 5 commits
-
-
David S. Miller authored
-
David S. Miller authored
-
David S. Miller authored
-
David S. Miller authored
-
David S. Miller authored
-
- 04 Sep, 2002 4 commits
-
-
David S. Miller authored
- When not low-power, only set GPIO enables in lclctrl on 5700 chips - Follow all writes to foo DMAC_MODE with a readback and udelay(40) - Be explicit about the fact that the driver disables wake-on-lan by default and how the user may enable it - A few NIC_SRAM_DATA_CFG_foo bits were wrong or missing - Clock control programming for some chips when going to low power mode was wrong. - Bump driver version/reldata for release - PCI write posting fixes * Sanitize every PCI write that requires a delay afterwards by doing a dummy read back from the register. * Handle the interesting case of this when doing a core-clock reset by using PCI config space indirect writes to GRC_MISC_CFG since we cannot do an MMIO read back from the chip during this reset event because it clears MMIO space enable in PCI_CONFIG * Add a new tg3_flag TG3_FLAG_MBOX_WRITE_REORDER which is set on chipsets that may violate PCI write ordering rules, when set we always read back from tx/rx ring mailbox registers after a write to guarentee the writes appear to the chip in order. - Make sure to always enable AS_MASTER bits when necessary - PHY reset fixes * Always reset PHY on init, for every chip revision * Program 5703 specific PHY stuff after the reset * Always enable Ethernet@WireSpeed after that reset * Always set ADVERTISE_PAUSE_CAP in initial adv reg.
-
Linus Torvalds authored
if a new edge happened while we were still processing the previous one. Then, if a _third_ edge came in, it would actually cause a reentrant irq handler invocation, because the original INPROGRESS bit was now lost. This was actually seen on IDE in PIO mode.
-
Matthew Wilcox authored
Unify the PCI device ID constants used by AGP with the normal Linux ones.
-
Paul Mackerras authored
create_elf_tables in fs/binfmt_elf.c now sets up the list of aux table entries in a buffer on the kernel stack before copying it to the user stack. Unfortunately, while the buffer is big enough for most architectures, it isn't big enough on PPC, which uses 5 extra aux table entries (put on with ARCH_DLINFO). The following patch increases the buffer to be big enough for PPC. (Note that each aux table entry uses two elements of the elf_info array.)
-
- 05 Sep, 2002 10 commits
-
-
Paul Mackerras authored
-
Paul Mackerras authored
-
Paul Mackerras authored
-
Paul Mackerras authored
-
Paul Mackerras authored
to the bottom of the aux table.
-
Paul Mackerras authored
-
Paul Mackerras authored
-
Paul Mackerras authored
into au1.ibm.com:/fuego/paulus/kernel/for-linus-ppc
-
Paul Mackerras authored
-
Paul Mackerras authored
-
- 04 Sep, 2002 1 commit
-
-
Paul Mackerras authored
-
- 03 Sep, 2002 15 commits
-
-
Rusty Russell authored
This removes list_t, which is a gratuitous typedef for a "struct list_head". Unless there is good reason, the kernel doesn't usually typedef, as typedefs cannot be predeclared unlike structs.
-
Rusty Russell authored
Frankly, I'm amazed the kernel worked for long without this. Every linker script thinks the section is called .data.percpu. Without this patch, every CPU ends up sharing the same "per-cpu" variable. This might explain the wierd per-cpu problem reports from Andrew and Dave, and also that nagging feeling that I'm an idiot...
-
Rusty Russell authored
This makes daemonize() call reparent_to_init() itself, as long suggested for 2.5, and fixes the callers so they don't call it again. Also fixes callers which set current->tty to NULL themselves (also no longer neccessary).
-
Rusty Russell authored
This sets child_reaper to the idle thread upon creation, so that ksoftirqd's reparent_to_init call doesn't get the swapper as parent.
-
Andi Kleen authored
RELOC_HIDE got miscompiled on gcc3.1/x86-64 in the access to softirq.c's per cpu variables. This fixes the problem. Clearly to hide the relocation the addition needs to be done after the value obfuscation, not before. I don't know if it triggers on other architectures (x86-64 is especially stressf here because it has negative kernel addresses), but seems like the right thing to do.
-
Andries E. Brouwer authored
Teach usb/storage/sddr09.c how to return less than a full page of sense data.
-
Andries E. Brouwer authored
In sd.c we call MODE SENSE (6) in order to find out whether the device is write protected. The info we need is in byte 2, the header of the MODE SENSE answer, but in the request we have to specify (i) what page(s) we want, and (ii) how many bytes we want. Long ago we asked for 12 bytes from page 1 (Daniel Roche, 1.3.35). Matthew Dharm made this 8 bytes from page 3F (all pages), patch-2.4.0-test8. In patch-2.4.10 the 8 was increased to 255. I found on the one hand devices that only react to page 0 (the vendor page), and return an error for page 3F. And on the other hand devices that are unable to handle requests for more bytes than they actually have. So, it seems that the cautious way to ask for MODE SENSE data is to first ask for the header only, see how much is available, and then ask for everything. The patch below first separates out the MODE SENSE call, and then tries it three times: on all pages (3F), only the first four bytes; on the vendor page (0), only the first four bytes; on all pages (3F), 255 bytes. This should be at least as robust as our current code. I tried it on 8 SCSI devices (of which 2 fail under 2.5.33) and found no problems.
-
Andrew Morton authored
A patch from Martin Bligh which cleans up the open-coded uses of mem_map for ia32. Basically it replaces mem_map + pagenr with pfn_to_page(pagenr) in lots of places. Because mem_map[] doesn't work like that with discontigmem. It also fixes a bug in bad_range, that happens to work for contig mem systems, but is incorrect. Tested both with and without discontigmem support.
-
Andrew Morton authored
- All the support macros which assume a linear mem_map[] have been wrapped in !CONFIG_DISCONTIGMEM. pfn_to_page, page_to_pfn, page_to_phys, pmd_page, kern_addr_valid. - Move some initialsation macros into setup.h so they can be used in the i386 discontig.c (INITRD_START, INITRD_SIZE). - Alternate version of the bootmem allocator - add i386 discontig support and numaq support.
-
Andrew Morton authored
- Pull the middle out of one_highpage_init() so that the i386 NUMA patch can call it on a per-page basis. - Move a few lines out of mem_init() into the new set_max_mapnr_init(), which the i386 NUMA code requires.
-
Andrew Morton authored
This restructures setup_arch() for i386 to make it easier to include the i386 numa changes (for CONFIG_DISCONTIGMEM) I've been working on. It also makes setup_arch() easier to read. A version of this patch is the in 2.4 aa tree. This does not depend on the other patches I'm submitting today, but my discontigmem patch does depend on this one. I've tested this patch on the following configurations: UP, SMP, SMP PAE, multiquad, multiquad PAE.
-
Andrew Morton authored
I've had ia32-discontigmem under test for a month, uneventfully. Possibly because I don't have a machine to test it on.... A major part of this work is a general move to convert the low-level memory management to consistently use pageframe numbers. It's a bit schizo at present.. This patch was written by Martin Bligh. A version of this patch is in the 2.4 aa tree. It changes the unsigned longs node_start_paddr and zone_start_paddr to page frame numbers. This is necessary because a PAE address is 36 bits and cannot be represented in an unsigned long. - The per-node physical memory start address node_start_paddr becomes a pfn, node_start_pfn. - The per-zone physical memory start address zone_start_paddr becomes a pfn, zone_start_pfn. - free_area_init_node() takes a pfn rather than a physical address. Patricia has tested this patch on the following configurations: UP, SMP, SMP PAE, multiquad, multiquad PAE, multiquad DISCONTIGMEM, multiquad DISCONTIGMEM PAE.
-
Andrew Morton authored
The rmap locking inlines are causing some header file dependency/ordering problems - move them out of page-flags.h and into their own header file.
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-
Linus Torvalds authored
into home.transmeta.com:/home/torvalds/v2.5/linux
-