1. 29 Sep, 2008 5 commits
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev · 3c1370a3
      Linus Torvalds authored
      * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        sata_nv: reinstate nv_hardreset() for non generic controllers
      3c1370a3
    • zippel@linux-m68k.org's avatar
      kconfig: readd lost change count · 661b0680
      zippel@linux-m68k.org authored
      Commit f072181e ("kconfig: drop the
      ""trying to assign nonexistent symbol" warning") simply dropped the
      warnings, but it does a little more than that, it also marks the current
      .config as needed saving, so add this back.
      Signed-off-by: default avatarRoman Zippel <zippel@linux-m68k.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      661b0680
    • zippel@linux-m68k.org's avatar
      kconfig: fix silentoldconfig · 204c96f6
      zippel@linux-m68k.org authored
      Recent changes to oldconfig have mixed up the silentoldconfig handling,
      so this fixes that by clearly separating that special mode, e.g.
      KCONFIG_NOSILENTUPDATE is only relevant here, the .config is written as
      needed.
      
      This will also properly close Bug 11230.
      Signed-off-by: default avatarRoman Zippel <zippel@linux-m68k.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      204c96f6
    • Linus Torvalds's avatar
      Fix NULL pointer dereference in proc_sys_compare · d0185c08
      Linus Torvalds authored
      The VFS interface for the 'd_compare()' is a bit special (read: 'odd'),
      because it really just essentially replaces a memcmp().  The filesystem
      is supposed to just compare the two names with whatever case-independent
      or other function.
      
      And when I say 'is supposed to', I obviously mean that 'procfs does odd
      things, and actually looks at the dentry that we don't even pass down,
      rather than just the name'.  Which results in problems, because we
      actually call d_compare before we have even verified that the dentry is
      still hashed at all.
      
      And that causes a problm since the inode that procfs looks at may have
      been free'd and the d_inode pointer is NULL.  procfs just assumes that
      all dentries are positive, since procfs itself never generates a
      negative one.  But memory pressure will still result in the dentry
      getting torn down, and as it is removed by RCU, it still remains visible
      on some lists - and to d_compare.
      
      If the filesystem just did a name comparison, we wouldn't care.  And we
      could just fix procfs to know about negative dentries too.  But rather
      than have the low-level filesystems know about internal VFS details,
      just move the check for a unhashed dentry up a bit, so that we will only
      call d_compare on dentries that are still active.
      
      The actual oops this caused didn't look like a NULL pointer dereference
      because procfs did a 'container_of(inode, struct proc_inode, vfs_inode)'
      to get at its internal proc_inode information from the inode pointer,
      and accessed a field below the inode. So the oops would look something
      like
      
      	BUG: unable to handle kernel paging request at fffffffffffffff0
      	IP: [<ffffffff802bc6c6>] proc_sys_compare+0x36/0x50
      
      and was seen on both x86-64 (Alexey Dobriyan and Hugh Dickins) and
      ppc64 (Hugh Dickins).
      Reported-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
      Acked-by: default avatarHugh Dickins <hugh@veritas.com>
      Cc: Al Viro <viro@ZenIV.linux.org.uk>
      Reviewed-by: default avatar"Eric W. Biederman" <ebiederm@xmission.com>
      Signed-of-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d0185c08
    • Tejun Heo's avatar
      sata_nv: reinstate nv_hardreset() for non generic controllers · 4c1eb90a
      Tejun Heo authored
      Commit 2fd673ec which tried to remove
      hardreset for generic accidentally removed it for all flavors as all
      others were inheriting from nv_generic_ops.  This patch reinstates
      nv_hardreset() and puts it into nv_common_ops which all flavors
      inherit from.  nv_generic_ops now inherits from nv_common_ops and
      overrides .hardreset to ATA_OP_NULL.
      
      While at it, explain why nv_hardreset and ATA_OP_NULL override are
      necessary.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
      4c1eb90a
  2. 26 Sep, 2008 6 commits
  3. 25 Sep, 2008 3 commits
  4. 24 Sep, 2008 22 commits
  5. 23 Sep, 2008 4 commits
    • Jack Tan's avatar
      [MIPS] Fixe the definition of PTRS_PER_PGD · 5291925a
      Jack Tan authored
      When we use > 4KB's page size the original definition is not consistent
      with PGDIR_SIZE. For exeample, if we use 16KB page size the PGDIR_SHIFT is
      (14-2) + 14 = 26, PGDIR_SIZE is 2^26,so the PTRS_PER_PGD should be:
      
      	2^32/2^26 = 2^6
      
      but the original definition of PTRS_PER_PGD is 4096 (PGDIR_ORDER = 0).
      
      So, this definition needs to be consistent with the PGDIR_SIZE.
      
      And the new definition is consistent with the PGD init in pagetable_init().
      Signed-off-by: default avatarDajie Tan <jiankemeng@gmail.com>
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      5291925a
    • Bruno Randolf's avatar
      [MIPS] au1000: Fix gpio direction · 44ce1719
      Bruno Randolf authored
      When setting the direction of one GPIO pin we have to keep the state of the
      other pins, hence use binary OR. Also gpio_direction_output() wants to set an
      initial value, so add that too.
      
      This fixes a problem with the USB power switch on mtx-1 boards.
      Signed-off-by: default avatarBruno Randolf <br1@einfach.org>
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      44ce1719
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 · fb478da5
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (23 commits)
        USB: revert recovery from transient errors
        usb: unusual devs patch for Nokia 5310 Music Xpress
        usb: ftdi_sio: add support for Domintell devices
        USB: drivers/usb/musb/: disable it on SuperH
        USB Serial: Sierra: Add MC8785 VID/PID
        USB: serial: add ZTE CDMA Tech id to option driver
        USB: ftdi_sio: Add 0x5050/0x0900 USB IDs (Papouch Quido USB 4/4)
        usb serial: ti_usb_3410_5052 obviously broken by firmware changes
        USB: fsl_usb2_udc: fix VDBG() format string
        USB: unusual_devs addition for RockChip MP3 player
        USB: SERIAL CP2101 add device IDs
        usb-serial: Add Siemens EF81 to PL-2303 hack triggers
        USB: fix EHCI periodic transfers
        usb: musb: fix include path
        USB: Fixing Nokia 3310c in storage mode
        usb gadget: fix omap_udc DMA regression
        USB: update of Documentation/usb/anchors.txt
        USB: fix hcd interrupt disabling
        USB: Correct Sierra Wireless USB EVDO Modem Device ID
        USB: Fix the Nokia 6300 storage-mode.
        ...
      fb478da5
    • Linus Torvalds's avatar
      Merge branch 'timers-fixes-for-linus' of... · 8553f321
      Linus Torvalds authored
      Merge branch 'timers-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/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: fix build error in !oneshot case
        x86: c1e_idle: don't mark TSC unstable if CPU has invariant TSC
        x86: prevent C-states hang on AMD C1E enabled machines
        clockevents: prevent mode mismatch on cpu online
        clockevents: check broadcast device not tick device
        clockevents: prevent stale tick_next_period for onlining CPUs
        x86: prevent stale state of c1e_mask across CPU offline/online
        clockevents: prevent cpu online to interfere with nohz
      8553f321