24 Mar, 2008

1 commit


22 Mar, 2008

1 commit

  • Currently kernel images are limited to 8MB in size, and this causes
    problems especially when enabling features that take up a lot of
    kernel image space such as lockdep.

    The code now will align the kernel image size up to 4MB and map that
    many locked TLB entries. So, the only practical limitation is the
    number of available locked TLB entries which is 16 on Cheetah and 64
    on pre-Cheetah sparc64 cpus. Niagara cpus don't actually have hw
    locked TLB entry support. Rather, the hypervisor transparently
    provides support for "locked" TLB entries since it runs with physical
    addressing and does the initial TLB miss processing.

    Fully utilizing this change requires some help from SILO, a patch for
    which will be submitted to the maintainer. Essentially, SILO will
    only currently map up to 8MB for the kernel image and that needs to be
    increased.

    Note that neither this patch nor the SILO bits will help with network
    booting. The openfirmware code will only map up to a certain amount
    of kernel image during a network boot and there isn't much we can to
    about that other than to implemented a layered network booting
    facility. Solaris has this, and calls it "wanboot" and we may
    implement something similar at some point.

    Signed-off-by: David S. Miller

    David S. Miller
     

19 Mar, 2008

1 commit


04 Mar, 2008

3 commits


29 Feb, 2008

3 commits


27 Feb, 2008

1 commit

  • Some parts of the kernel now do things like do *_user() accesses while
    set_fs(KERNEL_DS) that fault on purpose.

    See, for example, the code added by changeset
    a0c1e9073ef7428a14309cba010633a6cd6719ea ("futex: runtime enable pi
    and robust functionality").

    That trips up the ASI sanity checking we make in do_kernel_fault().

    Just remove it for now. Maybe we can add it back later with an added
    conditional which looks at the current get_fs() value.

    Signed-off-by: David S. Miller

    David S. Miller
     

25 Feb, 2008

11 commits

  • Fix following warnings:
    WARNING: vmlinux.o(.text+0x4f980): Section mismatch in reference from the function kernel_map_range() to the function .init.text:__alloc_bootmem()
    WARNING: vmlinux.o(.text+0x4f9cc): Section mismatch in reference from the function kernel_map_range() to the function .init.text:__alloc_bootmem()

    alloc_bootmem() is only used during early init and for any subsequent
    call to kernel_map_range() the program logic avoid the call.
    So annotate kernel_map_range() with __ref to tell modpost to
    ignore the reference to a __init function.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • Fix following warnings:
    WARNING: vmlinux.o(.text+0x4b258): Section mismatch in reference from the function dr_cpu_data() to the function .devinit.text:mdesc_fill_in_cpu_data()
    WARNING: vmlinux.o(.text+0x4b290): Section mismatch in reference from the function dr_cpu_data() to the function .cpuinit.text:cpu_up()

    mdesc_fill_in_cpu_data() is only used during early init and for
    cpu hotplug so the __cpuinit annotation is the correct choice.
    We have the call chain:
    dr_cpu_data() => dr_cpu_configure() => mdesc_fill_in_cpu_data()

    dr_cpu_data() is used only during early init and for cpu
    hotplug. So annotating them all __cpuinit solves the
    section mismatch and should be correct.

    Signed-off-by: Sam Ravnborg
    Signed-off-by: David S. Miller

    Sam Ravnborg
     
  • CC [M] arch/sparc/kernel/led.o
    arch/sparc/kernel/led.c: In function 'led_blink':
    arch/sparc/kernel/led.c:35: error: invalid use of undefined type 'struct
    timer_list'
    arch/sparc/kernel/led.c:35: error: 'jiffies' undeclared (first use in
    this function)
    arch/sparc/kernel/led.c:35: error: (Each undeclared identifier is
    reported only once
    arch/sparc/kernel/led.c:35: error: for each function it appears in.)
    arch/sparc/kernel/led.c:36: error: 'avenrun' undeclared (first use in
    this function)
    arch/sparc/kernel/led.c:36: error: 'FSHIFT' undeclared (first use in
    this function)
    arch/sparc/kernel/led.c:36: error: 'HZ' undeclared (first use in this
    function)
    arch/sparc/kernel/led.c:37: error: invalid use of undefined type 'struct
    timer_list'
    arch/sparc/kernel/led.c:39: error: invalid use of undefined type 'struct
    timer_list'
    arch/sparc/kernel/led.c:40: error: invalid use of undefined type 'struct
    timer_list'
    arch/sparc/kernel/led.c:42: error: implicit declaration of function
    'add_timer'
    arch/sparc/kernel/led.c: In function 'led_write_proc':
    arch/sparc/kernel/led.c:70: error: implicit declaration of function
    'copy_from_user'
    arch/sparc/kernel/led.c:84: error: implicit declaration of function
    'del_timer_sync'
    arch/sparc/kernel/led.c: In function 'led_init':
    arch/sparc/kernel/led.c:109: error: implicit declaration of function
    'init_timer'
    arch/sparc/kernel/led.c:110: error: invalid use of undefined type
    'struct timer_list'
    make[1]: *** [arch/sparc/kernel/led.o] Error 1

    Based upon original patch by Robert Reif.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Linus Torvalds
     
  • Add the Intel ICH10 SMBus Controller DeviceID's and updates
    Tolapai support.

    Signed-off-by: Jason Gaston
    Signed-off-by: Jean Delvare

    Gaston, Jason D
     
  • Don't require platform code to be #ifdeffed according to whether
    I2C is enabled or not ... if it's not enabled, let GCC compile out
    all I2C device declarations. (Issue noted on an NSLU2 build that
    didn't configure I2C.)

    Signed-off-by: David Brownell
    Signed-off-by: Jean Delvare

    David Brownell
     
  • When probing i2c-pca-isa writes to legacy ioports, which crashes the kernel
    if there is no device at that port.
    This patch adds a check_legacy_ioport call, so probe fails gracefully
    and thus prevents the oops.

    Signed-off-by: Christian Krafft
    Signed-off-by: Jean Delvare

    Christian Krafft
     
  • Commit 8b798c4d16b762d15f4055597ff8d87f73b35552 broke
    alchemy build, fix it. Pointed out by Adrian Bunk.

    Signed-off-by: Manuel Lauss
    Signed-off-by: Jean Delvare

    Manuel Lauss
     
  • The C99 specification states in section 6.11.5:

    The placement of a storage-class specifier other than at the
    beginning of the declaration specifiers in a declaration is an
    obsolescent feature.

    Signed-off-by: Tobias Klauser
    Signed-off-by: Jean Delvare

    Tobias Klauser
     
  • While working on the PCA9564-platform driver, I sometimes had a glimpse at the
    pxa-driver. I found some suspicious places, and this patch contains my
    suggestions. Note: They are not tested, due to no hardware.

    [JD: Some more fixes.]

    Signed-off-by: Wolfram Sang
    Signed-off-by: Jean Delvare
    Tested-by: Mike Rapoport
    Tested-by: Eric Miao

    Wolfram Sang
     
  • Each call to i2c_get_adapter() must be followed by a call to
    i2c_put_adapter() to release the grabbed reference. Otherwise the
    reference count grows forever and the adapter can never be
    unregistered.

    Signed-off-by: Jean Delvare
    Acked-by: Vladimir Ananiev
    Acked-by: Tony Lindgren

    Jean Delvare
     

24 Feb, 2008

19 commits

  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    libata-core: fix kernel-doc warning
    sata_fsl: fix build with ATA_VERBOSE_DEBUG
    [libata] ahci: AMD SB700/SB800 SATA support 64bit DMA
    libata-pmp: clear hob for pmp register accesses
    libata: automatically use DMADIR if drive/bridge requires it
    power_state: get rid of write-only variable in SATA
    pata_atiixp: Use 255 sector limit

    Linus Torvalds
     
  • Fix libata-core kernel-doc warning:
    Warning(linux-2.6.25-rc2-git6//drivers/ata/libata-core.c:168): No description found for parameter 'ap'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Jeff Garzik

    Randy Dunlap
     
  • This patch fixes build and few warnings when ATA_VERBOSE_DEBUG
    is defined:

    CC drivers/ata/sata_fsl.o
    drivers/ata/sata_fsl.c: In function ‘sata_fsl_fill_sg’:
    drivers/ata/sata_fsl.c:338: warning: format ‘%x’ expects type ‘unsigned int’, but argument 3 has type ‘void *’
    drivers/ata/sata_fsl.c:338: warning: format ‘%x’ expects type ‘unsigned int’, but argument 4 has type ‘struct prde *’
    drivers/ata/sata_fsl.c: In function ‘sata_fsl_qc_issue’:
    drivers/ata/sata_fsl.c:459: error: ‘csr_base’ undeclared (first use in this function)
    drivers/ata/sata_fsl.c:459: error: (Each undeclared identifier is reported only once
    drivers/ata/sata_fsl.c:459: error: for each function it appears in.)
    drivers/ata/sata_fsl.c: In function ‘sata_fsl_freeze’:
    drivers/ata/sata_fsl.c:525: error: ‘csr_base’ undeclared (first use in this function)
    make[2]: *** [drivers/ata/sata_fsl.o] Error 1

    Signed-off-by: Anton Vorontsov
    Signed-off-by: Jeff Garzik

    Anton Vorontsov
     
  • SB700 SATA controller can support 64 bit DMA, the previous commit
    badc2341579511a247f5993865aa68379e283c5c was added with
    careless reference to SB600, which should be modified by this patch.

    Signed-off-by: Shane Huang
    Signed-off-by: Jeff Garzik

    Shane Huang
     
  • >> Mark Lord wrote:
    >>> Tejun, I've added PMP to sata_mv, and am now trying to get it
    >>> to work with a Marvell PM attached.
    >>>
    >>> And the behaviour I see is very bizarre.
    >>>
    >>> After hard+soft resets, the PM signature is found,
    >>> and libata interrogates the PM registers.
    >>>
    >>> It successfully reads register 0, and then register 1.
    >>> But all subsequent registers read out (incorrectly) as zeros.
    ...

    This behavior has been confirmed by Marvell with a SATA analyzer.
    The Marvell port-multiplier apparently likes to see clean HOB
    information when accessing PMP registers.

    Since sata_mv uses PIO shadow register access, this doesn't happen
    automatically, as it might in a more purely FIS-based driver (eg. ahci).

    One way to fix this is to flag these commands with ATA_TFLAG_LBA48,
    forcing libata to write out the HOB fields with known (zero) values.

    Signed-off-by: Saeed Bishara
    Acked-by: Mark Lord
    Signed-off-by: Jeff Garzik

    Mark Lord
     
  • Back in 2.6.17-rc2, a libata module parameter was added for atapi_dmadir.

    That's nice, but most SATA devices which need it will tell us about it
    in their IDENTIFY PACKET response, as bit-15 of word-62 of the
    returned data (as per ATA7, ATA8 specifications).

    So for those which specify it, we should automatically use the DMADIR bit.
    Otherwise, disc writing will fail by default on many SATA-ATAPI drives.

    This patch adds ATA_DFLAG_DMADIR and make ata_dev_configure() set it
    if atapi_dmadir is set or identify data indicates DMADIR is necessary.
    atapi_xlat() is converted to check ATA_DFLAG_DMADIR before setting
    DMADIR.

    Original patch is from Mark Lord.

    Signed-off-by: Tejun Heo
    Cc: Mark Lord
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • power_state is scheduled for removal, and libata uses it in write-only
    mode. Remove it.

    Signed-off-by: Pavel Machek
    Signed-off-by: Jeff Garzik

    Pavel Machek
     
  • AHCI needs sorting too but this deals with the old interface

    Signed-off-by: Alan Cox
    Signed-off-by: Jeff Garzik

    Alan Cox
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (37 commits)
    [NETFILTER]: fix ebtable targets return
    [IP_TUNNEL]: Don't limit the number of tunnels with generic name explicitly.
    [NET]: Restore sanity wrt. print_mac().
    [NEIGH]: Fix race between neighbor lookup and table's hash_rnd update.
    [RTNL]: Validate hardware and broadcast address attribute for RTM_NEWLINK
    tg3: ethtool phys_id default
    [BNX2]: Update version to 1.7.4.
    [BNX2]: Disable parallel detect on an HP blade.
    [BNX2]: More 5706S link down workaround.
    ssb: Fix support for PCI devices behind a SSB->PCI bridge
    zd1211rw: fix sparse warnings
    rtl818x: fix sparse warnings
    ssb: Fix pcicore cardbus mode
    ssb: Make the GPIO API reentrancy safe
    ssb: Fix the GPIO API
    ssb: Fix watchdog access for devices without a chipcommon
    ssb: Fix serial console on new bcm47xx devices
    ath5k: Fix build warnings on some 64-bit platforms.
    WDEV, ath5k, don't return int from bool function
    WDEV: ath5k, fix lock imbalance
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC64]: make IOMMU code respect the segment boundary limits
    [SPARC64]: Fix cpu trampoline et al. mismatch warnings.
    [SPARC64]: More sparse warning fixes in process.c
    [SPARC64]: Fix sparse warning wrt. fault_in_user_windows.
    [SPARC64]: Kill show_regs32().
    [SPARC64]: Fix sparse warnings wrt. __show_regs().
    [SPARC64]: Kill show_stackframe{,32}().
    [SPARC64]: Fix sparse warnings wrt. machine_alt_power_off().

    Linus Torvalds
     
  • This fixes the following compile error caused by commit
    3a2d5b700132f35401f1d9e22fe3c2cab02c2549 ("PM: Introduce
    PM_EVENT_HIBERNATE callback state")

    CC [M] drivers/usb/host/u132-hcd.o
    drivers/usb/host/u132-hcd.c: In function ‘u132_suspend’:
    drivers/usb/host/u132-hcd.c:3224: error: expected expression before ‘int’
    drivers/usb/host/u132-hcd.c:3225: error: ‘ports’ undeclared (first use in this function)
    ...

    Signed-off-by: Mirco Tischler
    Signed-off-by: Linus Torvalds

    Mirco Tischler
     
  • The function ebt_do_table doesn't take NF_DROP as a verdict from the targets.

    Signed-off-by: Joonwoo Park
    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Joonwoo Park
     
  • Use the added dev_alloc_name() call to create tunnel device name,
    rather than iterate in a hand-made loop with an artificial limit.

    Thanks Patrick for noticing this.

    [ The way this works is, when the device is actually registered,
    the generic code noticed the '%' in the name and invokes
    dev_alloc_name() to fully resolve the name. -DaveM ]

    Signed-off-by: Pavel Emelyanov
    Signed-off-by: David S. Miller

    Pavel Emelyanov
     
  • MAC_FMT had only one user and we tried to get rid of
    that, but this created more problems than it solved.

    As a result, this reverts three commits:

    235365f3aaaa10b7056293877c0ead50425f25c7 ("net/8021q/vlan_dev.c: Use
    print_mac."), fea5fa875eb235dc186b1f5184eb36abc63e26cc ("[NET]: Remove
    MAC_FMT"), and 8f789c48448aed74fe1c07af76de8f04adacec7d ("[NET]:
    Elminate spurious print_mac() calls.")

    Signed-off-by: David S. Miller

    David S. Miller
     
  • The neigh_hash_grow() may update the tbl->hash_rnd value, which
    is used in all tbl->hash callbacks to calculate the hashval.

    Two lookup routines may race with this, since they call the
    ->hash callback without the tbl->lock held. Since the hash_rnd
    is changed with this lock write-locked moving the calls to ->hash
    under this lock read-locked closes this gap.

    Signed-off-by: Pavel Emelyanov
    Signed-off-by: David S. Miller

    Pavel Emelyanov
     
  • RTM_NEWLINK allows for already existing links to be modified. For this
    purpose do_setlink() is called which expects address attributes with a
    payload length of at least dev->addr_len. This patch adds the necessary
    validation for the RTM_NEWLINK case.

    The address length for links to be created is not checked for now as the
    actual attribute length is used when copying the address to the netdevice
    structure. It might make sense to report an error if less than addr_len
    bytes are provided but enforcing this might break drivers trying to be
    smart with not transmitting all zero addresses.

    Signed-off-by: Thomas Graf
    Signed-off-by: David S. Miller

    Thomas Graf
     
  • When asked to blink LEDs the tg3 driver behaves when using:
    ethtool -p ethX
    The default value for data is zero, and other drivers interpret this
    as blink forever (or at least a really long time). The tg3 driver
    interprets this as blink once. All drivers should have the same
    behaviour.

    Signed-off-by: Stephen Hemminger
    Acked-by: Michael Chan
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Signed-off-by: Oliver Pinter
    Signed-off-by: Linus Torvalds

    Oliver Pinter