1. 07 Nov, 2003 6 commits
    • Andi Kleen's avatar
      [PATCH] Fix IP checksum for SuSE 9.0 compiler · 6077b1d3
      Andi Kleen authored
      The hammer branch based gcc 3.3 in SuSE 9.0 has a more aggressive
      optimizer. ip_send_check has this code:
      
      	iph->check = 0;
      	iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
      
      The new gcc optimizes the first store away because it doesn't know
      that ip_fast_csum reads its input memory. This leads to occassionally
      packets with wrong IP header checksum getting sent; this happens especially
      with NFS. Fixing it in the constraints would have been ugly and probably
      not future proof, so this patch just adds a memory clobber to ip_fast_csum.
      
      For some reason the issue only hits in 2.6, we haven't seen it in 2.4.
      Problem occurs on both i386 and x86-64.
      
      Credit goes to Olaf Kirch for tracking this down.
      6077b1d3
    • Linus Torvalds's avatar
      Merge bk://linuxusb.bkbits.net/gregkh-2.6 · 9399e05e
      Linus Torvalds authored
      into home.osdl.org:/home/torvalds/v2.5/linux
      9399e05e
    • David Brownell's avatar
      [PATCH] USB: usb ignores 64bit dma · 4f428f01
      David Brownell authored
      The dma hooks whereby EHCI can pass 64bit DMA support
      up the driver stack (to avoid buffer copies) turn out
      to broken on most architectures(*).  This patch just
      disables them all, since it looks like those mechanisms
      won't get fixed before 2.6.0-final.  For now it'd only
      matter on a few big Intel boxes anyway.
      
      Please merge.
      
      - Dave
      
      (*) On x86, mips, and arm dma_supported() doesn't
           even compare with the device's mask.  On several
           other architectures (reported on ppc, alpha,
           and sparc64), asking that question for non-PCI
           devices will just BUG() -- even though all info
           needed to answer the question is right at hand.
      4f428f01
    • Matthew Dharm's avatar
      [PATCH] USB: fix a thread-exit problem at module unload · a816ee81
      Matthew Dharm authored
      This patch fixes a thread-exit problem when the usb-storage module is
      unloaded with a preemptable kernel.  Please refer to the comments in the
      code for more detail.
      a816ee81
    • Michael Clark's avatar
      [PATCH] PCI: Fix oops in quirk_via_bridge · b2df260f
      Michael Clark authored
      I have a VIA cardbus 1394 controller which oops on insertion
      after an APM suspend/resume cycle (without card inserted):
      
      bounds: 0000 [#1]
      CPU:    0
      EIP:    0060:[<c0300060>]    Tainted: PF
      EFLAGS: 00010206
      EIP is at quirk_via_bridge+0x4/0x1c
      eax: 0000ffff   ebx: c02982e0   ecx: d1958000   edx: 000c0010
      esi: d1958000   edi: 00000001   ebp: 00000000   esp: da401ee8
      ds: 007b   es: 007b   ss: 0068
      Process pccardd (pid: 1093, threadinfo=da400000 task=da4c8780)
      Stack: c019fb85 d1958000 00000001 d1958000 00000000 c019fbc2 d1958000 00000001
               c02980a0 d1958000 dfdebf14 c019d828 00000001 d1958000 00000000 dec2802c
               dfdebf00 dfdebf14 00000000 e3dfe7c7 dfdebf00 00000000 dec2802c da401f48
      Call Trace:
         [<c019fb85>] pci_do_fixups+0x52/0x54
         [<c019fbc2>] pci_fixup_device+0x3b/0x49
         [<c019d828>] pci_scan_slot+0x46/0x8f
         [<e3dfe7c7>] cb_alloc+0x29/0xf7 [pcmcia_core]
         [<e3dfb9aa>] socket_insert+0x90/0x102 [pcmcia_core]
         [<e3dfbc0d>] socket_detect_change+0x54/0x7e [pcmcia_core]
         [<e3dfbdbc>] pccardd+0x185/0x1f9 [pcmcia_core]
      
      quirk_via_bridge (which is marked device PCI_ANY_ID) triggers on
      my 1394 controller which vendor=VIA but is not a bridge.
      
      Making the quirk __devinit solves the problem.
      b2df260f
    • Alexander Viro's avatar
      [PATCH] Fix cramfs metadata races · 0aef2868
      Alexander Viro authored
      There's a few places that use incorrect exclusion for the cramfs raw
      data access buffers.  The proper lock is "read_mutex" (and BKL does
      nothing).
      
       - fix mount-time read and block number initialization without the mutex
         held. 
       - cramfs_readdir() needs to copy the name and inode information into a
         separate buffer since it can't hold the semaphore over the
         (potentially blocking) user mode access
       - cramfs_lookup() needs to hold the access lock over the whole
         function, not just the read itself
       - use generic_file_llseek on directories to get i_sem exclusion on
         readdir/lseek
      0aef2868
  2. 06 Nov, 2003 5 commits
  3. 05 Nov, 2003 13 commits
  4. 04 Nov, 2003 14 commits
  5. 03 Nov, 2003 2 commits