1. 08 Jun, 2007 13 commits
    • Jiri Slaby's avatar
      ide: generic IDE PCI driver, add another device exception · ea307596
      Jiri Slaby authored
      generic IDE PCI driver, add another device exception
      
      This device is char device and is grabbed by generic ide driver:
      00:0b.0 Class ffff: National Semiconductor Corporation 87410 IDE (rev ff) (prog-if ff)
      	Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
      
      Disallow generic IDE PCI driver to grab it by adding next condition. Also
      consolidate exceptions to one bigger 'switch (dev->vendor)'.
      Signed-off-by: default avatarJiri Slaby <jirislaby@gmail.com>
      Cc: Ingo Korb <ml@akana.de>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      ea307596
    • Lee Trager's avatar
      ide: HPA detect from resume · 0d2157f7
      Lee Trager authored
      Currently when system which have HPA require HPA to be detected and
      disabled upon resume from RAM or disk. The current IDE drivers do not do
      this nor does libata (obviously it since it doesn't support HPA yet).
      
      I have implemented this into the current IDE drivers and it has been
      tested by many others since 7/15/2006 in bug number 6840:
      
      	http://bugzilla.kernel.org/show_bug.cgi?id=6840
      
      and it has been confirmed to work fine with no problems.
      
      bart: added drv != NULL check to generic_ide_suspend()
      
      From: Lee Trager <lt73@cs.drexel.edu>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      0d2157f7
    • Bartlomiej Zolnierkiewicz's avatar
      it821x: RAID mode fixes · 0380dad4
      Bartlomiej Zolnierkiewicz authored
      The DMA support for RAID mode broke after:
      
      	commit 71ef51cc
      	Author: Jens Axboe <axboe@suse.de>
      	Date:   Fri Jul 28 09:02:17 2006 +0200
      
      	    [PATCH] it821x: fix ide dma setup bug
      
      	    Only enable dma for a valid speed setting.
      
      	    Signed-off-by: Jens Axboe <axboe@suse.de>
      
      	commit 0a8348d0
      	Author: Jens Axboe <axboe@suse.de>
      	Date:   Fri Jul 28 08:58:26 2006 +0200
      
      	    [PATCH] ide: if the id fields looks screwy, disable DMA
      
      	    It's the safer choice. Originally due to a bug in itx821x, but a
      	    generally sound thing to do.
      
      	    Signed-off-by: Jens Axboe <axboe@suse.de>
      
      However it worked by pure luck before Jens' fixes: bogus ide_dma_enable()
      usage in it821x driver combined with loosy check in ide_dma_verbose() allowed
      the hardware to operate in DMA mode.  When these problems were fixed the DMA
      support broke...
      
      The source root for the regression turned out to be that the it821x.c code
      was clearing too much of id->field_valid.  The IDE core code was using the
      original value of id->field_valid to do the tuning but later DMA got disabled
      in ide_dma_verbose() because of the incorrect id->field_valid fixup.  Fix it.
      
      While at it:
      
      * Do fixup() after probing the drives but before tuning them (which is also
        OK w.r.t. ide_undecoded_slave() fixup).  This change fixes device IDENTIFY
        data to be consistent before/after the tuning and allows us to remove extra
        re-tuning of drives from it821x_fixups().
      
      * Fake MWDMA0 enabled/supported bits in IDENTIFY data if the device has
        DMA capable bit set (this is just to tell the IDE core that DMA is
        supported since it821x firmware takes care of DMA mode programming).
      
      * Don't touch timing registers and don't program transfer modes on devices
        et all when in RAID mode - depend solely on firmware to do the tuning
        (as suggested by Alan Cox and done in libata pata_it821x driver).
      
      Thanks for testing the patch goes out to Thomas Kuther.
      
      Cc: Thomas Kuther <gimpel@sonnenkinder.org>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Jens Axboe <axboe@suse.de>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      0380dad4
    • Bartlomiej Zolnierkiewicz's avatar
      serverworks: fix CSB6 tuning logic · 1abb8a8b
      Bartlomiej Zolnierkiewicz authored
      Problem noticed by Joe Zbiciak, see
      
      	http://kerneltrap.org/node/8252
      
      for details.
      
      On CSB6 the driver is using BIOS settings and not programming DMA/PIO timings
      itself.  However the logic was completely broken and resulted in wrong timings
      being silently allowed (instead of being corrected by the driver).
      
      This bug would explain some data corruption/timeout issues with Serverworks
      MegaIDE in RAID mode that Alan Cox has fixed recently with:
      
      http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=2074a106f52b6371885afbd714e929d60d0e3f64
      
      For 2.6.23 we may be better off with completely switching the driver to always
      programming timings (libata pata_serverworks.c driver is doing things this way
      and there were no problems reported so far) but for 2.6.22 lets fix the bug
      in the simplest and the least intrusive way.
      
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      1abb8a8b
    • Bartlomiej Zolnierkiewicz's avatar
      serverworks: remove crappy code · ed84fad5
      Bartlomiej Zolnierkiewicz authored
      Remove crappy code noticed by Linus, see
      
      	http://lkml.org/lkml/2007/5/23/476
      
      for details.
      
      While at it simplify logic a bit.
      
      There should be no functionality changes caused by this patch.
      
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
      ed84fad5
    • Bryan Wu's avatar
      RAMFS NOMMU: missed POSIX UID/GID inode attribute checking · 85f6038f
      Bryan Wu authored
      This bug was caught by LTP testcase fchmod06 on Blackfin platform.
      
      In the manpage of fchmod, "EPERM: The effective UID does not match the
      owner of the file, and the process is not privileged (Linux: it does not
      have the CAP_FOWNER capability)."
      
      But the ramfs nommu code missed the inode_change_ok POSIX UID/GID
      verification. This patch fixed this.
      Signed-off-by: default avatarBryan Wu <bryan.wu@analog.com>
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      85f6038f
    • Linus Torvalds's avatar
      Merge git://git.linux-xtensa.org/kernel/xtensa-feed · c8d8170f
      Linus Torvalds authored
      * git://git.linux-xtensa.org/kernel/xtensa-feed:
        Xtensa: use asm-generic/fcntl.h
        [XTENSA] Remove non-rt signal handling
        [XTENSA] Move common sections into bss sections
        [XTENSA] clean-up header files
        [XTENSA] Use generic 64-bit division
        [XTENSA] Remove multi-exported symbols from xtensa_ksyms.c
        [XTENSA] fix sources using deprecated assembler directive
        [XTENSA] Spelling fixes in arch/xtensa
        [XTENSA] fix bit operations in bitops.h
      c8d8170f
    • Linus Torvalds's avatar
      Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 · 34750bb1
      Linus Torvalds authored
      * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
        [SPARC64]: Fix SBUS IRQ regression caused by PCI-E driver.
        [SPARC64]: Fix 2 bugs in PCI Sabre bus scanning.
      34750bb1
    • Linus Torvalds's avatar
      Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 · df3872a9
      Linus Torvalds authored
      * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (24 commits)
        xfrm: Add security check before flushing SAD/SPD
        [NET_SCHED]: Fix filter double free
        [NET]: Avoid duplicate netlink notification when changing link state
        [UDP]: Revert 2-pass hashing changes.
        [AF_UNIX]: Fix stream recvmsg() race.
        [NETFILTER]: nf_conntrack_amanda: fix textsearch_prepare() error check
        [NETFILTER]: ip_tables: fix compat related crash
        [NETFILTER]: nf_conntrack: fix helper module unload races
        [RTNETLINK]: ifindex 0 does not exist
        [NETLINK]: Mark netlink policies const
        [TCP] tcp_probe: Attach printf attribute properly to printl().
        [TCP]: Use LIMIT_NETDEBUG in tcp_retransmit_timer().
        [NET]: Merge dst_discard_in and dst_discard_out.
        [RFKILL]: Make rfkill->name const
        [IPV4]: Restore old behaviour of default config values
        [IPV4]: Add default config support after inetdev_init
        [IPV4]: Convert IPv4 devconf to an array
        [IPV4]: Only panic if inetdev_init fails for loopback
        [TCP]: Honour sk_bound_dev_if in tcp_v4_send_ack
        [BNX2]: Update version and reldate.
        ...
      df3872a9
    • Steven Rostedt's avatar
      enable interrupts in user path of page fault. · e5e3c84b
      Steven Rostedt authored
      This is a minor fix, but what is currently there is essentially wrong.
      In do_page_fault, if the faulting address from user code happens to be
      in kernel address space (int *p = (int*)-1; p = 0xbed;)  then the
      do_page_fault handler will jump over the local_irq_enable with the
      
        goto bad_area_nosemaphore;
      
      But the first line there sees this is user code and goes through the
      process of sending a signal to send SIGSEGV to the user task. This whole
      time interrupts are disabled and the task can not be preempted by a
      higher priority task.
      
      This patch always enables interrupts in the user path of the
      bad_area_nosemaphore.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e5e3c84b
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/rmk/linux-2.6-arm · c52ecdab
      Linus Torvalds authored
      * master.kernel.org:/home/rmk/linux-2.6-arm:
        [ARM] pxa: fix pxa27x keyboard driver
        [ARM] Fix 4417/1: Serial: Fix AMBA drivers locking
        [ARM] 4421/1: AT91: Value of _KEY fields.
        [ARM] Solve buggy smp_processor_id() usage
        [ARM] 4422/1: Fix default value handling in gpio_direction_output (PXA)
        [ARM] 4419/1: AT91: SAM9 USB clocks check for suspending
        [ARM] 4418/1: AT91: Number of programmable clocks differs
        [ARM] 4392/2: Do not corrupt the SP register in compressed/head.S
      c52ecdab
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus · dc315011
      Linus Torvalds authored
      * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
        [MIPS] Fix warning by moving do_default_vi into CONFIG_CPU_MIPSR2_SRS
        [MIPS] Fix some minor typoes in arch/mips/Kconfig.
        [MIPS] Remove prototype for deleted function qemu_handle_int
        [MIPS] Fix some system calls with long long arguments
        [MIPS] Make dma_map_sg handle sg elements which are longer than one page
        [MIPS] Drop __ARCH_WANT_SYS_FADVISE64
        [MIPS] Fix VGA corruption on RM300C
        [MIPS] RM300: Fix MMIO problems by marking the PCI INT ACK region busy
        [MIPS] EMMA2RH: remove dead KGDB code
        [MIPS] Remove duplicate fpu enable hazard code.
        [MIPS] Atlas, Malta, SEAD: Remove scroll from interrupt handler.
      dc315011
    • Peter Zijlstra's avatar
      frv: build fix · 2c750edd
      Peter Zijlstra authored
      In file included from /usr/src/linux-2.6-2/net/ipv4/ip_input.c:118:
      
        include2/asm/system.h:245: error: parse error before "__cmpxchg_32"
        include2/asm/system.h:245: error: parse error before '*' token
        include2/asm/system.h:245: warning: type defaults to `int' in declaration of `__cmpxchg_32'
        include2/asm/system.h:245: warning: function declaration isn't a prototype
        include2/asm/system.h:245: warning: data definition has no type or storage class
      Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2c750edd
  2. 07 Jun, 2007 27 commits