25 Feb, 2008

8 commits


24 Feb, 2008

29 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
     
  • Because of some board issues, we need to disable parallel detect on
    an HP blade. Without this patch, the link state can become stuck
    when it goes into parallel detect mode.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • The previous patches to workaround the 5706S on an HP blade were not
    sufficient. The link state still does not change properly in some
    cases. This patch adds polling to make it completely reliable.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Oleg Nesterov and others have pointed out that on some architectures,
    the traditional sequence of

    set_current_state(TASK_INTERRUPTIBLE);
    if (CONDITION)
    return;
    schedule();

    is racy wrt another CPU doing

    CONDITION = 1;
    wake_up_process(p);

    because while set_current_state() has a memory barrier separating
    setting of the TASK_INTERRUPTIBLE state from reading of the CONDITION
    variable, there is no such memory barrier on the wakeup side.

    Now, wake_up_process() does actually take a spinlock before it reads and
    sets the task state on the waking side, and on x86 (and many other
    architectures) that spinlock is in fact equivalent to a memory barrier,
    but that is not generally guaranteed. The write that sets CONDITION
    could move into the critical region protected by the runqueue spinlock.

    However, adding a smp_wmb() to before the spinlock should now order the
    writing of CONDITION wrt the lock itself, which in turn is ordered wrt
    the accesses within the spinlock (which includes the reading of the old
    state).

    This should thus close the race (which probably has never been seen in
    practice, but since smp_wmb() is a no-op on x86, it's not like this will
    make anything worse either on the most common architecture where the
    spinlock already gave the required protection).

    Acked-by: Oleg Nesterov
    Acked-by: Dmitry Adamushko
    Cc: Andrew Morton
    Cc: Nick Piggin
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • - Fix build 'make randconfig' build warning spotted by Toralf Foerster:

    drivers/scsi/mvsas.c: In function 'mvs_hexdump':
    drivers/scsi/mvsas.c:715: error: implicit declaration of function 'isalnum'

    - Remove unneeded prototypes (spotted by hch)

    Signed-off-by: Jeff Garzik
    Signed-off-by: Linus Torvalds

    Jeff Garzik
     
  • (sorry for being offtpoic, but while experts are here...)

    A "typical" implementation of atomic_add_unless() can return 0 immediately
    after the first atomic_read() (before doing cmpxchg). In that case it doesn't
    provide any barrier semantics. See include/asm-ia64/atomic.h as an example.

    We should either change the implementation, or fix the docs.

    Signed-off-by: Oleg Nesterov
    Acked-by: Nick Piggin
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     
  • Cgroup requires the subsystem to return negative error code on error in the
    create method.

    Signed-off-by: Li Zefan
    Acked-by: KAMEZAWA Hiroyuki
    Acked-by: Balbir Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Li Zefan
     
  • Remove this VM_BUG_ON(), as Balbir stated:

    We used to have a for loop with !list_empty() as a termination condition
    and VM_BUG_ON(!pc) is a spill over. With the new loop, VM_BUG_ON(!pc) does
    not make sense.

    Signed-off-by: Li Zefan
    Acked-by: Balbir Singh
    Acked-by: KAMEZAWA Hiroyuki
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Li Zefan
     
  • - remove trailing " Bytes"s in the demonstration
    - remove section 4.4 (feature control_type has been removed)
    - fix reference section

    Signed-off-by: Li Zefan
    Acked-by: KAMEZAWA Hiroyuki
    Acked-by: Balbir Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Li Zefan
     
  • Signed-off-by: Li Zefan
    Acked-by: Paul Menage
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Li Zefan
     
  • The list head res->tasks gets initialized twice in find_css_set().

    Signed-off-by: Li Zefan
    Acked-by: Paul Menage
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Li Zefan
     

22 Feb, 2008

2 commits


21 Feb, 2008

1 commit