23 Dec, 2009

2 commits

  • Fix kernel-doc warnings (@arg name) in string.c::skip_spaces().

    Warning(lib/string.c:347): No description found for parameter 'str'
    Warning(lib/string.c:347): Excess function parameter 's' description in 'skip_spaces'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • This reverts commit 7bc7d637452383d56ba4368d4336b0dde1bb476d, as
    requested by John Stultz. Quoting John:

    "Petr Titěra reported an issue where he saw odd atime regressions with
    2.6.33 where there were a full second worth of nanoseconds in the
    nanoseconds field.

    He also reviewed the time code and narrowed down the problem: unhandled
    overflow of the nanosecond field caused by rounding up the
    sub-nanosecond accumulated time.

    Details:

    * At the end of update_wall_time(), we currently round up the
    sub-nanosecond portion of accumulated time when storing it into xtime.
    This was added to avoid time inconsistencies caused when the
    sub-nanosecond portion was truncated when storing into xtime.
    Unfortunately we don't handle the possible second overflow caused by
    that rounding.

    * Previously the xtime_cache code hid this overflow by normalizing the
    xtime value when storing into the xtime_cache.

    * We could try to handle the second overflow after the rounding up, but
    since this affects the timekeeping's internal state, this would further
    complicate the next accumulation cycle, causing small errors in ntp
    steering. As much as I'd like to get rid of it, the xtime_cache code is
    known to work.

    * The correct fix is really to include the sub-nanosecond portion in the
    timekeeping accessor function, so we don't need to round up at during
    accumulation. This would greatly simplify the accumulation code.
    Unfortunately, we can't do this safely until the last three
    non-GENERIC_TIME arches (sparc32, arm, cris) are converted (those
    patches are in -mm) and we kill off the spots where arches set xtime
    directly. This is all 2.6.34 material, so I think reverting the
    xtime_cache change is the best approach for now.

    Many thanks to Petr for both reporting and finding the issue!"

    Reported-by: Petr Titěra
    Requested-by: john stultz
    Cc: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

22 Dec, 2009

5 commits

  • The second parameter to alignf() in allocate_resource() must
    reflect what new resource is attempted to be allocated, else
    functions like pcibios_align_resource() (at least on x86) or
    pcmcia_align() can't work correctly.

    Commit 1e5ad9679016275d422e36b12a98b0927d76f556 broke this by
    setting the "new" resource until we're about to return success.
    To keep the resource untouched when allocate_resource() fails,
    a "tmp" resource is introduced.

    Signed-off-by: Dominik Brodowski
    Acked-by: Bjorn Helgaas
    Cc: Yinghai Lu
    Cc: Jesse Barnes
    Signed-off-by: Linus Torvalds

    Dominik Brodowski
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    pata_cmd64x: fix overclocking of UDMA0-2 modes
    Revert "pata_cmd64x: implement serialization as per notes"

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    bnx2: Fix bnx2_netif_stop() merge error.
    gianfar: Fix bit definitions of IMASK_GRSC and IMASK_GTSC
    gianfar: Fix stats support
    gianfar: Fix a filer bug
    bnx2: fixing a timout error due not refreshing TX timers correctly
    can/at91: don't check platform_get_irq's return value against zero
    mISDN: use DECLARE_COMPLETION_ONSTACK for non-constant completion
    bnx2: reset_task is crashing the kernel. Fixing it.
    ipv6: fix an oops when force unload ipv6 module
    TI DaVinci EMAC: Fix MDIO bus frequency configuration
    e100: Fix broken cbs accounting due to missing memset.
    broadcom: bcm54xx_shadow_read() errors ignored in bcm54xx_adjust_rxrefclk()
    e1000e: LED settings in EEPROM ignored on 82571 and 82572
    netxen: use module parameter correctly
    netns: fix net.ipv6.route.gc_min_interval_ms in netns
    Bluetooth: Prevent ill-timed autosuspend in USB driver
    Bluetooth: Fix L2CAP locking scheme regression
    Bluetooth: Ack L2CAP I-frames before retransmit missing packet
    Bluetooth: Fix unset of RemoteBusy flag for L2CAP
    Bluetooth: Fix PTR_ERR return of wrong pointer in hidp_setup_hid()

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sched: Fix hotplug hang
    sched: Restore printk sanity

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (24 commits)
    ALSA: sbawe: fix memory detection
    ALSA: fix incorrect rounding direction in snd_interval_ratnum()
    ALSA: HDA: add powersaving hook for Realtek
    ALSA: HDA: remove useless mixers on Aspire 8930G
    ALSA: HDA: simplify Aspire 8930G verb array
    ALSA: hda: Set Front Mic to input vref 50% for Lenovo 3000 Y410
    ALSA: hda/realtek: Remove extra .capsrc_nids initialization for ALC889_INTEL
    ALSA: Use kzalloc for allocating only one thing
    ALSA: AACI: switch to per-pcm locking
    ALSA: AACI: add double-rate support
    ALSA: AACI: factor common hw_params logic into aaci_pcm_hw_params
    ALSA: AACI: cleanup aaci_pcm_hw_params
    ALSA: AACI: simplify codec rate information
    ALSA: aaci - Fix a typo
    ASoC: wm8974: fix a wrong bit definition
    sound: sgio2audio/pdaudiocf/usb-audio: initialize PCM buffer
    ALSA: hda - Fix quirk for Maxdata obook4-1
    ALSA: hda - Fix missing capsrc_nids for ALC88x
    ALSA: hda - Make use of beep device found in Dell Vostro 1015n
    ALSA: hda - Fixed internal mic initialization for Dell Vostro 1015
    ...

    Linus Torvalds
     

21 Dec, 2009

16 commits

  • Takashi Iwai
     
  • Takashi Iwai
     
  • Takashi Iwai
     
  • Memory amount is increased before a successful write-read
    sequence is done. Thus, 512 kB of onboard memory is detected
    on memoryless cards like SB32.

    Move the increasing of memory counter after successful read
    is done.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Takashi Iwai

    Krzysztof Helt
     
  • The direction of rounding is incorrect in the snd_interval_ratnum()
    It was detected with following parameters (sb8 driver playing
    8kHz stereo file):
    - num is always 1000000
    - requested frequency rate is from 7999 to 7999 (single frequency)

    The first loop calculates div_down(num, freq->min) which is 125.
    Thus, a frequency range's minimum value is 1000000 / 125 = 8000 Hz.
    The second loop calculates div_up(num, freq->max) which is 126
    The frequency range's maximum value is 1000000 / 126 = 7936 Hz.
    The range maximum is lower than the range minimum so the function
    fails due to empty result range.

    Signed-off-by: Krzysztof Helt
    Signed-off-by: Takashi Iwai

    Krzysztof Helt
     
  • Takashi Iwai
     
  • The current Realtek code makes no specific provision for turning stuff
    off. The codec chip is placed into low-power mode generically, but this
    doesn't turn off any external hardware connected to it, in particular
    external amplifiers.

    This patch creates a hook function that is called by the codec
    suspend/resume functions. It ought to disable any external hardware in a
    device-specific way. I've implemented a generic ALC889 function that
    sets the EAPD pin properly, and used it for the Acer Aspire 8930G which
    can benefit from this feature.

    On my laptop, this results in ~0.5W extra savings.

    Signed-off-by: Hector Martin
    Signed-off-by: Takashi Iwai

    Hector Martin
     
  • This patch removes some extra mixers that do nothing on the Acer Aspire
    8930G.

    The CD mixer is useless because the SATA DVD/Blu-Ray drive has no analog
    audio output, and the Side mixer is useless because we max out at 6ch
    anyway.

    Signed-off-by: Hector Martin
    Signed-off-by: Takashi Iwai

    Hector Martin
     
  • This patch just simplifies the 8930G verb array a bit. Just use the
    common ALC889 EAPD verb array to make things more consistent. The file
    is already huge enough already.

    Signed-off-by: Hector Martin
    Signed-off-by: Takashi Iwai

    Hector Martin
     
  • BugLink: https://bugs.launchpad.net/bugs/479373

    The OR has verified with hda-verb that the internal microphone needs
    VREF50 set for audible capture.

    Signed-off-by: Daniel T Chen
    Signed-off-by: Takashi Iwai

    Daniel T Chen
     
  • A typo in 12045a6ee9908b "nfsd: let "insecure" flag vary by
    pseudoflavor" reversed the sense of the "insecure" flag.

    Reported-by: Michael Guntsche
    Signed-off-by: J. Bruce Fields
    Signed-off-by: Linus Torvalds

    J. Bruce Fields
     
  • The error was introduced while merging:

    commit 4529819c45161e4a119134f56ef504e69420bc98
    bnx2: reset_task is crashing the kernel. Fixing it.

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

    Michael Chan
     
  • The hot-unplug kstopmachine usage does a wakeup after
    deactivating the cpu, hence we cannot use cpu_active()
    here but must rely on the good olde online.

    Reported-by: Sachin Sant
    Reported-by: Jens Axboe
    Signed-off-by: Peter Zijlstra
    Tested-by: Jens Axboe
    Cc: Heiko Carstens
    Cc: Benjamin Herrenschmidt
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • adev->dma_mode stores the transfer mode value not UDMA mode number
    so the condition in cmd64x_set_dmamode() is always true and the higher
    UDMA clock is always selected. This can potentially result in data
    corruption when UDMA33 device is used, when 40-wire cable is used or
    when the error recovery code decides to lower the device speed down.

    The issue was introduced in the commit 6a40da0 ("libata cmd64x: whack
    into a shape that looks like the documentation") which goes back to
    kernel 2.6.20.

    Cc: stable@kernel.org
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Jeff Garzik

    Bartlomiej Zolnierkiewicz
     
  • This reverts commit d43744390e460dce6626fb8de2c02a24ff650005, because
    it breaks the boot on several machines (mostly sparc64, at present).

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • Revert the braindead pr_* crap. (Commit 663997d "sched: Use
    pr_fmt() and pr_()")

    It's dumb and causes stupid "sched: " strings all over the place.

    Signed-off-by: Peter Zijlstra
    Acked-by: Mike Galbraith
    Cc: Joe Perches
    Cc: Linus Torvalds
    Cc: Andrew Morton
    LKML-Reference:
    [ i dont mind the pr_*() patterns that much - but Peter dislikes them with a vengence. ]
    [ - v2: remove spurious diffstat from changelog :-/ ]
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     

20 Dec, 2009

12 commits

  • Signed-off-by: Jaroslav Kysela

    Jaroslav Kysela
     
  • Jaroslav Kysela
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mattst88/alpha-2.6:
    alpha: Convert BUG() to use unreachable()
    alpha: Add minimal support for software performance events
    alpha: Wire up missing/new syscalls

    Linus Torvalds
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    sata_mv: remove pointless NULL test
    pata_hpt3x2n: fix clock turnaround
    libata: fix reporting of drained bytes when clearing DRQ
    sata_mv: add power management support for the PCI controllers.
    sata_mv: store the board_idx into the host private data
    pata_octeon_cf: use resource_size(), to fix resource sizing bug
    libata: use the WRITE_SAME_16 define
    sata_mv: move the PCI bar description initialization code
    sata_mv: add power management support for the platform driver
    sata_mv: support clkdev framework
    sata_mv: increase PIO IORDY timeout

    Fixed crazy mode-change in merge.

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'perf-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    perf session: Make events_stats u64 to avoid overflow on 32-bit arches
    hw-breakpoints: Fix hardware breakpoints -> perf events dependency
    perf events: Dont report side-band events on each cpu for per-task-per-cpu events
    perf events, x86/stacktrace: Fix performance/softlockup by providing a special frame pointer-only stack walker
    perf events, x86/stacktrace: Make stack walking optional
    perf events: Remove unused perf_counter.h header file
    perf probe: Check new event name
    kprobe-tracer: Check new event/group name
    perf probe: Check whether debugfs path is correct
    perf probe: Fix libdwarf include path for Debian

    Linus Torvalds
     
  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, irq: Allow 0xff for /proc/irq/[n]/smp_affinity on an 8-cpu system
    Makefile: Unexport LC_ALL instead of clearing it
    x86: Fix objdump version check in arch/x86/tools/chkobjdump.awk
    x86: Reenable TSC sync check at boot, even with NONSTOP_TSC
    x86: Don't use POSIX character classes in gen-insn-attr-x86.awk
    Makefile: set LC_CTYPE, LC_COLLATE, LC_NUMERIC to C
    x86: Increase MAX_EARLY_RES; insufficient on 32-bit NUMA
    x86: Fix checking of SRAT when node 0 ram is not from 0
    x86, cpuid: Add "volatile" to asm in native_cpuid()
    x86, msr: msrs_alloc/free for CONFIG_SMP=n
    x86, amd: Get multi-node CPU info from NodeId MSR instead of PCI config space
    x86: Add IA32_TSC_AUX MSR and use it
    x86, msr/cpuid: Register enough minors for the MSR and CPUID drivers
    initramfs: add missing decompressor error check
    bzip2: Add missing checks for malloc returning NULL
    bzip2/lzma/gzip: pre-boot malloc doesn't return NULL on failure

    Linus Torvalds
     
  • …l/git/tip/linux-2.6-tip

    * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (25 commits)
    sched: Fix broken assertion
    sched: Assert task state bits at build time
    sched: Update task_state_arraypwith new states
    sched: Add missing state chars to TASK_STATE_TO_CHAR_STR
    sched: Move TASK_STATE_TO_CHAR_STR near the TASK_state bits
    sched: Teach might_sleep() about preemptible RCU
    sched: Make warning less noisy
    sched: Simplify set_task_cpu()
    sched: Remove the cfs_rq dependency from set_task_cpu()
    sched: Add pre and post wakeup hooks
    sched: Move kthread_bind() back to kthread.c
    sched: Fix select_task_rq() vs hotplug issues
    sched: Fix sched_exec() balancing
    sched: Ensure set_task_cpu() is never called on blocked tasks
    sched: Use TASK_WAKING for fork wakups
    sched: Select_task_rq_fair() must honour SD_LOAD_BALANCE
    sched: Fix task_hot() test order
    sched: Fix set_cpu_active() in cpu_down()
    sched: Mark boot-cpu active before smp_init()
    sched: Fix cpu_clock() in NMIs, on !CONFIG_HAVE_UNSTABLE_SCHED_CLOCK
    ...

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    sys: Fix missing rcu protection for __task_cred() access
    signals: Fix more rcu assumptions
    signal: Fix racy access to __task_cred in kill_pid_info_as_uid()

    Linus Torvalds
     
  • …el/git/tip/linux-2.6-tip

    * 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    timers: Remove duplicate setting of new_base in __mod_timer()
    clockevents: Prevent clockevent_devices list corruption on cpu hotplug

    Linus Torvalds
     
  • * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
    [S390] Use strim instead of strstrip to avoid false warnings.
    [S390] qdio: add counter for input queue full condition
    [S390] qdio: remove superfluous log entries and WARN_ONs.
    [S390] ptrace: dont abuse PT_PTRACED
    [S390] cio: fix channel path vary
    [S390] drivers: Correct size given to memset
    [S390] tape: Add pr_fmt() macro to all tape source files
    [S390] rename NT_PRXSTATUS to NT_S390_HIGHREGS
    [S390] tty: PTR_ERR return of wrong pointer in fs3270_open()
    [S390] s390: PTR_ERR return of wrong pointer in fallback_init_cip()
    [S390] dasd: PTR_ERR return of wrong pointer in
    [S390] dasd: move dasd-diag kmsg to dasd
    [S390] cio: fix drvdata usage for the console subchannel
    [S390] wire up sys_recvmmsg

    Linus Torvalds
     
  • Several leaks in audit_tree didn't get caught by commit
    318b6d3d7ddbcad3d6867e630711b8a705d873d7, including the leak on normal
    exit in case of multiple rules refering to the same chunk.

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • ... aka "Al had badly fscked up when writing that thing and nobody
    noticed until Eric had fixed leaks that used to mask the breakage".

    The function essentially creates a copy of old array sans one element
    and replaces the references to elements of original (they are on cyclic
    lists) with those to corresponding elements of new one. After that the
    old one is fair game for freeing.

    First of all, there's a dumb braino: when we get to list_replace_init we
    use indices for wrong arrays - position in new one with the old array
    and vice versa.

    Another bug is more subtle - termination condition is wrong if the
    element to be excluded happens to be the last one. We shouldn't go
    until we fill the new array, we should go until we'd finished the old
    one. Otherwise the element we are trying to kill will remain on the
    cyclic lists...

    That crap used to be masked by several leaks, so it was not quite
    trivial to hit. Eric had fixed some of those leaks a while ago and the
    shit had hit the fan...

    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     

19 Dec, 2009

5 commits

  • Use kzalloc rather than kcalloc(1,...)

    The semantic patch that makes this change is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    @@

    - kcalloc(1,
    + kzalloc(
    ...)
    //

    Signed-off-by: Julia Lawall
    Signed-off-by: Takashi Iwai

    Julia Lawall
     
  • Signed-off-by: Sandeep Gopalpet
    Signed-off-by: David S. Miller

    Sandeep Gopalpet
     
  • This patch updates the per rx/tx queue stats.
    To update the per rx queue stats a new structure has been
    introduced rx_q_stats.
    The per tx queue stats are updated via the netdev_queue
    structure itself.

    Note that we update only the tx_packtes, tx_bytes, rx_packets,
    rx_bytes and rx_dropped stats on a per queue basis.

    Signed-off-by: Sandeep Gopalpet
    Signed-off-by: David S. Miller

    Sandeep Gopalpet
     
  • We need to enable filer whenever we need to use multiple RX
    queues. Also, need to program RIR0 register with the required
    distribution we require, if using RX filer hashing support for
    packet distribution to multiple queues.

    Signed-off-by: Sandeep Gopalpet
    Signed-off-by: David S. Miller

    Sandeep Gopalpet
     
  • When running the following script on an active bnx2 interface:

    while(true); do ifconfig ethX mtu 9000; ifconfig ethX mtu 1500; done

    A timeout error appears and dumps the following stack:

    NETDEV WATCHDOG: eth4 (bnx2): transmit queue 0 timed out
    ------------[ cut here ]------------
    Badness at net/sched/sch_generic.c:261

    This patch just fixes the way that ->trans_start is refreshed.

    Signed-off-by: Breno Leitao
    Acked-by: Michael Chan
    Signed-off-by: David S. Miller

    Breno Leitao