1. 09 Oct, 2008 2 commits
  2. 08 Oct, 2008 5 commits
  3. 06 Oct, 2008 6 commits
  4. 03 Oct, 2008 2 commits
  5. 05 Sep, 2008 12 commits
  6. 04 Sep, 2008 3 commits
  7. 03 Sep, 2008 10 commits
    • Russell King's avatar
      [ARM] omap: fix gpio.c build error · 69114a47
      Russell King authored
      arch/arm/plat-omap/gpio.c: In function '_omap_gpio_init':
      arch/arm/plat-omap/gpio.c:1492: error: 'omap_mpuio_device' undeclared (first use in this function)
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      69114a47
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · d26acd92
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
        ipsec: Fix deadlock in xfrm_state management.
        ipv: Re-enable IP when MTU > 68
        net/xfrm: Use an IS_ERR test rather than a NULL test
        ath9: Fix ath_rx_flush_tid() for IRQs disabled kernel warning message.
        ath9k: Incorrect key used when group and pairwise ciphers are different.
        rt2x00: Compiler warning unmasked by fix of BUILD_BUG_ON
        mac80211: Fix debugfs union misuse and pointer corruption
        wireless/libertas/if_cs.c: fix memory leaks
        orinoco: Multicast to the specified addresses
        iwlwifi: fix 64bit platform firmware loading
        iwlwifi: fix apm_stop (wrong bit polarity for FLAG_INIT_DONE)
        iwlwifi: workaround interrupt handling no some platforms
        iwlwifi: do not use GFP_DMA in iwl_tx_queue_init
        net/wireless/Kconfig: clarify the description for CONFIG_WIRELESS_EXT_SYSFS
        net: Unbreak userspace usage of linux/mroute.h
        pkt_sched: Fix locking of qdisc_root with qdisc_root_sleeping_lock()
        ipv6: When we droped a packet, we should return NET_RX_DROP instead of 0
      d26acd92
    • Thomas Gleixner's avatar
      [x86] Fix TSC calibration issues · fbb16e24
      Thomas Gleixner authored
      Larry Finger reported at http://lkml.org/lkml/2008/9/1/90:
      An ancient laptop of mine started throwing errors from b43legacy when
      I started using 2.6.27 on it. This has been bisected to commit bfc0f594
      "x86: merge tsc calibration".
      
      The unification of the TSC code adopted mostly the 64bit code, which
      prefers PMTIMER/HPET over the PIT calibration.
      
      Larrys system has an AMD K6 CPU. Such systems are known to have
      PMTIMER incarnations which run at double speed. This results in a
      miscalibration of the TSC by factor 0.5. So the resulting calibrated
      CPU/TSC speed is half of the real CPU speed, which means that the TSC
      based delay loop will run half the time it should run. That might
      explain why the b43legacy driver went berserk.
      
      On the other hand we know about systems, where the PIT based
      calibration results in random crap due to heavy SMI/SMM
      disturbance. On those systems the PMTIMER/HPET based calibration logic
      with SMI detection shows better results.
      
      According to Alok also virtualized systems suffer from the PIT
      calibration method.
      
      The solution is to use a more wreckage aware aproach than the current
      either/or decision.
      
      1) reimplement the retry loop which was dropped from the 32bit code
      during the merge. It repeats the calibration and selects the lowest
      frequency value as this is probably the closest estimate to the real
      frequency
      
      2) Monitor the delta of the TSC values in the delay loop which waits
      for the PIT counter to reach zero. If the maximum value is
      significantly different from the minimum, then we have a pretty safe
      indicator that the loop was disturbed by an SMI.
      
      3) keep the pmtimer/hpet reference as a backup solution for systems
      where the SMI disturbance is a permanent point of failure for PIT
      based calibration
      
      4) do the loop iteration for both methods, record the lowest value and
      decide after all iterations finished.
      
      5) Set a clear preference to PIT based calibration when the result
      makes sense.
      
      The implementation does the reference calibration based on
      HPET/PMTIMER around the delay, which is necessary for the PIT anyway,
      but keeps separate TSC values to ensure the "independency" of the
      resulting calibration values.
      
      Tested on various 32bit/64bit machines including Geode 266Mhz, AMD K6
      (affected machine with a double speed pmtimer which I grabbed out of
      the dump), Pentium class machines and AMD/Intel 64 bit boxen.
      Bisected-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Tested-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fbb16e24
    • David S. Miller's avatar
      ipsec: Fix deadlock in xfrm_state management. · 37b08e34
      David S. Miller authored
      Ever since commit 4c563f76
      ("[XFRM]: Speed up xfrm_policy and xfrm_state walking") it is
      illegal to call __xfrm_state_destroy (and thus xfrm_state_put())
      with xfrm_state_lock held.  If we do, we'll deadlock since we
      have the lock already and __xfrm_state_destroy() tries to take
      it again.
      
      Fix this by pushing the xfrm_state_put() calls after the lock
      is dropped.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      37b08e34
    • Andrew Morton's avatar
      drivers/char/random.c: fix a race which can lead to a bogus BUG() · 8b76f46a
      Andrew Morton authored
      Fix a bug reported by and diagnosed by Aaron Straus.
      
      This is a regression intruduced into 2.6.26 by
      
          commit adc782da
          Author: Matt Mackall <mpm@selenic.com>
          Date:   Tue Apr 29 01:03:07 2008 -0700
      
              random: simplify and rename credit_entropy_store
      
      credit_entropy_bits() does:
      
      	spin_lock_irqsave(&r->lock, flags);
      	...
      	if (r->entropy_count > r->poolinfo->POOLBITS)
      		r->entropy_count = r->poolinfo->POOLBITS;
      
      so there is a time window in which this BUG_ON():
      
      static size_t account(struct entropy_store *r, size_t nbytes, int min,
      		      int reserved)
      {
      	unsigned long flags;
      
      	BUG_ON(r->entropy_count > r->poolinfo->POOLBITS);
      
      	/* Hold lock while accounting */
      	spin_lock_irqsave(&r->lock, flags);
      
      can trigger.
      
      We could fix this by moving the assertion inside the lock, but it seems
      safer and saner to revert to the old behaviour wherein
      entropy_store.entropy_count at no time exceeds
      entropy_store.poolinfo->POOLBITS.
      Reported-by: default avatarAaron Straus <aaron@merfinllc.com>
      Cc: Matt Mackall <mpm@selenic.com>
      Cc: Theodore Ts'o <tytso@mit.edu>
      Cc: <stable@kernel.org>		[2.6.26.x]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8b76f46a
    • John Kacur's avatar
      pm_qos_requirement might sleep · 9d359357
      John Kacur authored
      Make PM_QOS and CPU_IDLE play nicer when run with the RT-Preempt kernel.
      
      The purpose of the patch is to remove the spin_lock around the read in the
      function pm_qos_requirement - since spinlocks can sleep in -rt and this
      function is called from idle.
      
      CPU_IDLE polls the target_value's of some of the pm_qos parameters from
      the idle loop causing sleeping locking warnings.  Changing the
      target_value to an atomic avoids this issue.
      
      Remove the spinlock in pm_qos_requirement by making target_value an atomic
      type.
      Signed-off-by: default avatarmark gross <mgross@linux.intel.com>
      Signed-off-by: default avatarJohn Kacur <jkacur@gmail.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9d359357
    • Rafael J. Wysocki's avatar
      rtc-cmos: wake again from S5 · 74c4633d
      Rafael J. Wysocki authored
      Update rtc-cmos shutdown handling to leave RTC alarms active, resolving
      http://bugzilla.kernel.org/show_bug.cgi?id=11411 on several boards.  There
      are still some systems where the ACPI event handling doesn't cooperate.
      (Possibly related to bugid 11312, reporting the spontaneous disabling of
      RTC events.)
      
      Bug 11411 reported that changes to work around some ACPI event issues
      broke wake-from-S5 handling, as used for DVR applications.  (They like to
      power off, then wake later to record programs.)
      
      [yakui.zhao@intel.com: add shutdown for PNP devices]
      [dbrownell@users.sourceforge.net: update comments]
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: default avatarZhao Yakui <yakui.zhao@intel.com>
      Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Cc: Stefan Bauer <stefan.bauer@cs.tu-chemnitz.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      74c4633d
    • Russ Anderson's avatar
      sysfs: document files in /sys/firmware/sgi_uv/ · 8b3a8944
      Russ Anderson authored
      Document files in /sys/firmware/sgi_uv/.
      Signed-off-by: default avatarRuss Anderson <rja@sgi.com>
      Cc: Jack Steiner <steiner@sgi.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8b3a8944
    • Mike Christie's avatar
      ibft: fix target info parsing in ibft module · bb8fb4e6
      Mike Christie authored
      I got this patch through Red Hat's bugzilla from the bug submitter and
      patch creator.  I have just fixed it up so it applies without fuzz to
      upstream kernels.
      
      Original patch and description from Shyam kumar Iyer:
      
      The issue [ibft module not displaying targets with short names] is because
      of an offset calculatation error in the iscsi_ibft.c code.  Due to this
      error directory structure for the target in /sys/firmware/ibft does not
      get created and so the initiator is unable to connect to the target.
      
      Note that this bug surfaced only with an name that had a short section at
      the end.  eg: "iqn.1984-05.com.dell:dell".  It did not surface when the
      iqn's had a longer section at the end.  eg:
      "iqn.2001-04.com.example:storage.disk2.sys1.xyz"
      
      So, the eot_offset was calculated such that an extra 48 bytes i.e.  the
      size of the ibft_header which has already been accounted was subtracted
      twice.
      
      This was not evident with longer iqn names because they would overshoot
      the total ibft length more than 48 bytes and thus would escape the bug.
      Signed-off-by: default avatarShyam Kumar Iyer <shyam_iyer@dell.com>
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Cc: Konrad Rzeszutek <konrad@virtualiron.com>
      Cc: Peter Jones <pjones@redhat.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bb8fb4e6
    • Jan Altenberg's avatar
      rtc_time_to_tm: fix signed/unsigned arithmetic · 73442daf
      Jan Altenberg authored
      commit 945185a6 ("rtc: rtc_time_to_tm: use
      unsigned arithmetic") changed the some types in rtc_time_to_tm() to
      unsigned:
      
       void rtc_time_to_tm(unsigned long time, struct rtc_time *tm)
       {
      -       register int days, month, year;
      +       unsigned int days, month, year;
      
      This doesn't work for all cases, because days is checked for < 0 later
      on:
      
      if (days < 0) {
      	year -= 1;
      	days += 365 + LEAP_YEAR(year);
      }
      
      I think the correct fix would be to keep days signed and do an appropriate
      cast later on.
      Signed-off-by: default avatarJan Altenberg <jan.altenberg@linutronix.de>
      Cc: Maciej W. Rozycki <macro@linux-mips.org>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: Dmitri Vorobiev <dmitri.vorobiev@gmail.com>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      73442daf