1. 07 May, 2004 4 commits
    • Linus Torvalds's avatar
      x86-64: fix preempt race in exit_thread · 492d6ea7
      Linus Torvalds authored
      This fixes a (very very small) preempt race window when we
      invalidate the IO permission bitmap on process exit.
      492d6ea7
    • Stas Sergeev's avatar
      [PATCH] Fix IO bitmap invalidate · 037ebff3
      Stas Sergeev authored
      There is a bug where if any process that obtained an IO access
      permissions via ioperm() does not explicitly "drop" that permissions,
      the IO permissions don't get properly invalidated on process exit.
      
      The cause is that exit_thread() only invalidates the per-thread
      io_bitmap pointer, but doesn't invalidate the per-TSS io_bitmap pointer
      as well. 
      
      As the per-thread pointer is invalidated, __switch_to() doesn't take
      care of that one either, so the per-TSS pointer stays valid as long as
      some other process does ioperm().
      
      This fixes the problem - it invalidates the per-TSS io_bitmap pointer
      and the problem goes away. 
      037ebff3
    • Arjan van de Ven's avatar
    • Bartlomiej Zolnierkiewicz's avatar
      [PATCH] Suspend IDE disks on shutdown · 57bea21a
      Bartlomiej Zolnierkiewicz authored
      When Patrick removed ide_notify_reboot() in 2.5.42, he didn't notice
      that it meant that IDE no longer had any shutdown() functionality.
      
      So we did the right thing on suspend, but not on shutdown.
      
      ide_notify_reboot() was only doing STANDBY on shutdown (because FLUSH
      'doesn't work' in 2.4 too) but it worked okay and we still should do STANDBY
      on shutdown because some broken disks flush their caches.
      
      Thus just calls bus->suspend() (FLUSH+STANDBY) at shutdown time.  We can
      add some safety delay later - 2.4 doesn't have any.
      57bea21a
  2. 06 May, 2004 11 commits
    • Benjamin Herrenschmidt's avatar
      [PATCH] ppc64: Fix nasty typo in PTE freeing code · 09f4450a
      Benjamin Herrenschmidt authored
      There is a typo in the PTE freeing code causing us to possibly
      overflow the batch structure.
      
      Obvious fix (look at the closing parentheses).
      09f4450a
    • Eric Wong's avatar
      [PATCH] logips2pp driver update (MX510/310 support), cleanup · f0cec6ad
      Eric Wong authored
      I've updated the logips2pp driver to detect the MX310 and MX510 mice
      and also made it more maintainable by putting everything into one
      table instead of having 4 arrays for them (the MX700 support wasn't
      added correctly in the last revision).
      f0cec6ad
    • Arjan van de Ven's avatar
      [PATCH] IDE disk cache flush at unopportune momemnts · f864a703
      Arjan van de Ven authored
      This makes the idedisk_release function only flush the cache on final
      release; with the recent 2.6 blocklayer updates release gets called
      somewhat frequently, and at times where IO is outstanding to the disk.
      
      This bug didn't trigger before simply because ide_cacheflush_p() always
      was a nop.
      f864a703
    • Roman Zippel's avatar
      [PATCH] fix value toggle in gconf · ef81b155
      Roman Zippel authored
      gconf doesn't correctly toggle through the values of a symbol, so use
      sym_toggle_tristate_value() instead.
      
      Problem reported by Martin Persenius <martin@persenius.net>
      ef81b155
    • Nitin A. Kamble's avatar
      [PATCH] mxcsr patch for i386 & x86-64 · 681b6bf7
      Nitin A. Kamble authored
      This enables proper mxcsr register masking: the magic mask "0xffbf"
      is not necessarily correct for all CPU's, and there is an architected
      way to discover the proper MXCSR feature bits by examining the fxsave
      results.
      
      Please refer to IA32 Software Developer's Manual, Volume 1, Section
      11.6.6 for more details.
      681b6bf7
    • Petr Vandrovec's avatar
      [PATCH] ncpfs data corruption when using large TCP transfers · 91ddedbe
      Petr Vandrovec authored
      ncpfs was forgetting to update iovec's iov_base field whenever partial
      transmission occured. This was causing data corruption during large
      (60kB) writes.
      
      The code now also passes copy of iovec to the sock_sendmsg, so it does
      not rely on network stack updating (or not updating) passed iovec in
      case of success (or failure).
      91ddedbe
    • Andrew Morton's avatar
      [PATCH] b44 driver needs mii · cd19fd0f
      Andrew Morton authored
      cd19fd0f
    • Paul Wagland's avatar
      [PATCH] bug fix for megaraid memory leak · 4c76a6b2
      Paul Wagland authored
      I was going through the code looking for bits and pieces to pull across
      into the new LSI Logic beta megaraid driver /sys fs code and came across
      this one.
      
      LSI Logic have already fixed this issue for the 2.4 driver, and the new
      beta driver does not use the /proc filesystem at all, so no problem
      there.
      
      The problem is that resources are not freed upon certain error
      conditions in the in-kernel megaraid driver, to quote from Lester
      Hightower (who originally found the issue):
      
         "The problem occurs only in the circumstance where one reads one of
          the /proc/megaraid/hba<X>/diskdrives-ch<N> files where the card <X>
          does not have channel <N> on it.  Most people would likely not
          notice this leak in normal operation, but due to the way that we
          monitor our MegaRaid cards in our company (we read these /proc
          entries every 180s) so we found the leak rather quickly, and
          unpleasantly (when your kernel eats all your RAM)."
      
      Anyway, here is the fix, compiled and tested OK for me.
      4c76a6b2
    • Bartlomiej Zolnierkiewicz's avatar
      [PATCH] ide-disk.c: write cache handling fixes · f0d61324
      Bartlomiej Zolnierkiewicz authored
      From: Alan Cox <alan@redhat.com>, Arjan van de Ven <arjanv@redhat.com>
      
       - calculate drive->wcache for non-removable disks too
       - flush the cache before unlocking the door on removable media,
         otherwise you have a small race with the human
      f0d61324
    • Stephen Rothwell's avatar
      [PATCH] PPC64 iSeries: replace semaphores with completions · fe61f793
      Stephen Rothwell authored
      This replaces some usages of sempahores on the stack with completions.
      
      We think we have had at least one bug report that could be caused by the
      inherent race in the semaphore usage.
      fe61f793
    • Venkatesh Pallipadi's avatar
      [PATCH] bug in bigsmp CPU bringup · d1a1ac7b
      Venkatesh Pallipadi authored
      There is an bug in bigsmp sub-architecture, due to which it will not
      enable all the CPUs when the BIOS-APICIDs are not 0 to n-1 (where n is
      total number of CPUs). Particularly, only 2 CPU comes up on a system
      that has 4 CPUs with BIOS APICID as (0, 1, 6, 7).=20
      
      The bug is root caused to check_apicid_present(bit) call in smpboot.c,
      when bigsmp is expecting apicid in place of bit.
      check_apicid_present(bit) in bigsmp subarchitecture checks the bit with
      phys_id_present_map (which is actually map representing all apicids and
      not bit).
      
      One solution is to change check_apicid_present(bit) to
      check_apicid_present(apicid), in smp_boot_cpus().  But, it can affect
      all the other subarchitectures in various subtle ways.  So, here is a
      simple alternate fix (Thanks to Martin Bligh), which solves the above
      problem. 
      
      [ Confirmation from Martin:
      
           Looks fine, it's exactly the same fix we use for Summit.  Since
           we're using the other method instead of the bitmap, this check
           isn't needed, so we can just bypass it.  This way also has the
           great advantage of being isolated to the bigsmp subarch, so it only
           needs testing there ;-)
       ]
      d1a1ac7b
  3. 05 May, 2004 18 commits
  4. 04 May, 2004 4 commits
  5. 05 May, 2004 1 commit
  6. 04 May, 2004 2 commits
    • Bjorn Helgaas's avatar
      [SERIAL] default to serial console when possible · f34acba3
      Bjorn Helgaas authored
      Patch from Bjorn Helgaas
      
      This adds efi_uart_console_only() so we can default to using a serial
      console if the EFI console path only contains UARTs.
      f34acba3
    • Alex Williamson's avatar
      [SERIAL] 8250_hcdp needs irq sharing · 7c6d39f1
      Alex Williamson authored
      Patch from Alex Williamson
      
      Here's a trivial patch that makes 8250_hcdp setup the correct flags
      when IRQ sharing is enabled for serial ports.
      
      The HCDP table tells us if the device is a PCI UART.  We can use this
      to set the shared interrupt flag as well as program the interrupt with
      the correct polarity/trigger (should get rid of "changing vector <x>
      from IO-SAPIC-edge to IO-SAPIC-level" messages at bootup).  This also
      allows non-PCI UARTs to be left un-shareable, which is likely much
      more safe (edge triggered).
      
      The bit that I'm keying on is still part of the older 1.0a HCDP spec,
      so should be implemented (it was on all the boxes I tested).  If
      there's firmware out there that doesn't set this bit or the interrupt
      supported flag, the HCDP UART may run in polling mode, but should
      still be functional.
      7c6d39f1