1. 30 8月, 2005 1 次提交
    • A
      [PATCH] mod_devicetable.h fixes · 9e2d3cd3
      Al Viro 提交于
       * ieee1394_device_id has kernel_ulong_t field after an odd number of
         __u32 ones.  Since mod_devicetable.h is included both from kernel and
         from host build helper, we may be in trouble if we are building on
         32bit host for 64bit target - userland sees unsigned long long,
         kernel sees unsigned long and while their sizes match, alignments
         might not.  Fixed by forcing alignment.  Fortunately, almost nobody
         else needs that - the rest of such fields is naturally aligned as it
         is.
      
       * of_device_id has void * in it.  Host userland helpers need
         kernel_ulong_t instead, since their void * might have nothing to do
         with the kernel one.  Fixed in the same way it's done for similar
         problems in pcmcia_device_id (ifdef __KERNEL__).
      
       * pcmcia_device_id has the same problem as ieee1394_device_id.  Fixed
         the same way.
      Signed-off-by: NAl Viro <viro@parcelfarce.linux.theplanet.co.uk>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9e2d3cd3
  2. 29 8月, 2005 2 次提交
    • A
      [PATCH] PHY Layer fixup · e1393456
      Andy Fleming 提交于
      This patch adds back the code that was taken out, thus re-enabling:
      
      * The PHY Layer to initialize without crashing
      * Drivers to actually connect to PHYs
      * The entire PHY Control Layer
      
      This patch is used by the gianfar driver, and other drivers which are in
      development.
      Signed-off-by: NAndy Fleming <afleming@freescale.com>
      Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
      e1393456
    • J
      [libata] license change, other bits · af36d7f0
      Jeff Garzik 提交于
      - changes license of all code from OSL+GPL to plain ole GPL
        - except for NVIDIA, who hasn't yet responded about sata_nv
        - copyright holders were already contacted privately
      
      - adds info in each driver about where hardware/protocol docs may be
        obtained
      
      - where I have made major contributions, updated copyright dates
      af36d7f0
  3. 27 8月, 2005 2 次提交
  4. 23 8月, 2005 1 次提交
    • T
      [PATCH] fix atapi_packet_task vs. intr race (take 2) · c1389503
      Tejun Heo 提交于
      Interrupts from devices sharing the same IRQ could cause
      ata_host_intr to finish commands being processed by atapi_packet_task
      if the commands are using ATA_PROT_ATAPI_NODATA or ATA_PROT_ATAPI_DMA
      protocol.  This is because libata interrupt handler is unaware that
      interrupts are not expected during that period.  This patch adds
      ATA_FLAG_NOINTR flag to tell the interrupt handler that we're not
      expecting interrupts.
      
       Note that once proper HSM is implemented for interrupt-driven PIO,
      this should be merged into it and this flag will be removed.
      
       ahci.c is a different kind of beast, so it's left alone.
      
      * The following drivers use ata_qc_issue_prot and ata_interrupt, so
        changes in libata core will do.
      
        ata_piix sata_sil sata_svw sata_via sata_sis sata_uli
      
      * The following drivers use ata_qc_issue_prot and custom intr handler.
        They need this change to work correctly.
      
        sata_nv sata_vsc
      
      * The following drivers use custom issue function and intr handler.
        Currently all custom issue functions don't support ATAPI, so this
        change is irrelevant, updated for consistency and to avoid later
        mistakes.
      
        sata_promise sata_qstor sata_sx4
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@pobox.com>
      c1389503
  5. 20 8月, 2005 1 次提交
    • L
      Fix nasty ncpfs symlink handling bug. · cc314eef
      Linus Torvalds 提交于
      This bug could cause oopses and page state corruption, because ncpfs
      used the generic page-cache symlink handlign functions.  But those
      functions only work if the page cache is guaranteed to be "stable", ie a
      page that was installed when the symlink walk was started has to still
      be installed in the page cache at the end of the walk.
      
      We could have fixed ncpfs to not use the generic helper routines, but it
      is in many ways much cleaner to instead improve on the symlink walking
      helper routines so that they don't require that absolute stability.
      
      We do this by allowing "follow_link()" to return a error-pointer as a
      cookie, which is fed back to the cleanup "put_link()" routine.  This
      also simplifies NFS symlink handling.
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      cc314eef
  6. 19 8月, 2005 10 次提交
  7. 17 8月, 2005 2 次提交
  8. 16 8月, 2005 2 次提交
  9. 12 8月, 2005 3 次提交
  10. 11 8月, 2005 3 次提交
  11. 10 8月, 2005 1 次提交
  12. 09 8月, 2005 4 次提交
  13. 08 8月, 2005 1 次提交
  14. 07 8月, 2005 1 次提交
  15. 06 8月, 2005 1 次提交
    • T
      [PATCH] blk: fix tag shrinking (revive real_max_size) · ba025082
      Tejun Heo 提交于
      My patch in commit fa72b903 incorrectly
      removed blk_queue_tag->real_max_depth.
      
      The original resize implementation was incorrect in the following
      points.
      
       * actual allocation size of tag_index was shorter than real_max_size,
         but assumed to be of the same size, possibly causing memory access
         beyond the allocated area.
       * bits in tag_map between max_deptn and real_max_depth were
         initialized to 1's, making the tags permanently reserved.
      
      In an attempt to fix above two bugs, I had removed allocation optimization
      in init_tag_map and real_max_size.  Tag map/index were allocated and freed
      immediately during resize.
      
      Unfortunately, I wasn't considering that tag map/index can be resized
      dynamically with tags beyond new_depth active.  This led to accessing
      freed area after shrinking tags and led to the following bug reporting
      thread on linux-scsi.
      
         http://marc.theaimsgroup.com/?l=linux-scsi&m=112319898111885&w=2
      
      To fix the problem, I've revived real_max_depth without allocation
      optimization in init_tag_map, and Andrew Vasquez confirmed that the
      problem was fixed.  As Jens is not going to be available for a week, he
      asked me to make sure that this patch reaches you.
      
         http://marc.theaimsgroup.com/?l=linux-scsi&m=112325778530886&w=2
      
      Also, a comment was added to make sure that real_max_size is needed for
      dynamic shrinking.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ba025082
  16. 05 8月, 2005 3 次提交
    • J
      [PATCH] Clean up inotify delete race fix · 0c3dba15
      John McCutchan 提交于
      This avoids the whole #ifdef mess by just getting a copy of
      dentry->d_inode before d_delete is called - that makes the codepaths the
      same for the INOTIFY/DNOTIFY cases as for the regular no-notify case.
      I've been running this under a Gnome session for the last 10 minutes.
      Inotify is being used extensively.
      Signed-off-by: NJohn McCutchan <ttb@tentacle.dhs.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0c3dba15
    • J
      [PATCH] PCI: restore BAR values after D3hot->D0 for devices that need it · fec59a71
      John W. Linville 提交于
      Some PCI devices (e.g. 3c905B, 3c556B) lose all configuration
      (including BARs) when transitioning from D3hot->D0.  This leaves such
      a device in an inaccessible state.  The patch below causes the BARs
      to be restored when enabling such a device, so that its driver will
      be able to access it.
      
      The patch also adds pci_restore_bars as a new global symbol, and adds a
      correpsonding EXPORT_SYMBOL_GPL for that.
      
      Some firmware (e.g. Thinkpad T21) leaves devices in D3hot after a
      (re)boot.  Most drivers call pci_enable_device very early, so devices
      left in D3hot that lose configuration during the D3hot->D0 transition
      will be inaccessible to their drivers.
      
      Drivers could be modified to account for this, but it would
      be difficult to know which drivers need modification.  This is
      especially true since often many devices are covered by the same
      driver.  It likely would be necessary to replicate code across dozens
      of drivers.
      
      The patch below should trigger only when transitioning from D3hot->D0
      (or at boot), and only for devices that have the "no soft reset" bit
      cleared in the PM control register.  I believe it is safe to include
      this patch as part of the PCI infrastructure.
      
      The cleanest implementation of pci_restore_bars was to call
      pci_update_resource.  Unfortunately, that does not currently exist
      for the sparc64 architecture.  The patch below includes a null
      implemenation of pci_update_resource for sparc64.
      
      Some have expressed interest in making general use of the the
      pci_restore_bars function, so that has been exported to GPL licensed
      modules.
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      fec59a71
    • N
      [PATCH] md: make sure md bitmap updates are flushed when array is stopped. · 6b8b3e8a
      NeilBrown 提交于
      The recent change to never ignore the bitmap, revealed that the bitmap isn't
      begin flushed properly when an array is stopped.
      
      We call bitmap_daemon_work three times as there is a three-stage pipeline for
      flushing updates to the bitmap file.
      Signed-off-by: NNeil Brown <neilb@cse.unsw.edu.au>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      6b8b3e8a
  17. 04 8月, 2005 1 次提交
    • N
      [PATCH] fix get_user_pages bug · f33ea7f4
      Nick Piggin 提交于
      Checking pte_dirty instead of pte_write in __follow_page is problematic
      for s390, and for copy_one_pte which leaves dirty when clearing write.
      
      So revert __follow_page to check pte_write as before, and make
      do_wp_page pass back a special extra VM_FAULT_WRITE bit to say it has
      done its full job: once get_user_pages receives this value, it no longer
      requires pte_write in __follow_page.
      
      But most callers of handle_mm_fault, in the various architectures, have
      switch statements which do not expect this new case.  To avoid changing
      them all in a hurry, make an inline wrapper function (using the old
      name) that masks off the new bit, and use the extended interface with
      double underscores.
      
      Yes, we do have a call to do_wp_page from do_swap_page, but no need to
      change that: in rare case it's needed, another do_wp_page will follow.
      Signed-off-by: NHugh Dickins <hugh@veritas.com>
      [ Cleanups by Nick Piggin ]
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f33ea7f4
  18. 02 8月, 2005 1 次提交