1. 12 5月, 2007 27 次提交
    • T
      libata-acpi: s/CONFIG_SATA_ACPI/CONFIG_ATA_ACPI/ · e92351bb
      Tejun Heo 提交于
      ACPI applies to both SATA and PATA.  Drop the 'S' from the config
      variable.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      e92351bb
    • T
      libata: give devices one last chance even if recovery failed with -EINVAL · 8575b814
      Tejun Heo 提交于
      After certain errors, some devices report complete garbage on
      IDENTIFY.  This can cause ata_dev_read_id() to fail with -EINVAL
      resulting in immediate disabling of the device.  Give the device one
      last chance after -EINVAL to allow recovery from such situations.  As
      -EINVAL is triggered very rarely, this shouldn't cause any noticeable
      affect on more common error paths.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Harald Dunkel <harald.dunkel@t-online.de>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      8575b814
    • T
      libata: fallback to the other IDENTIFY on device error, take#2 · 54936f8b
      Tejun Heo 提交于
      It seems the world isn't as frank as we thought and some devices lie
      about who they are.  Fallback to the other IDENTIFY if IDENTIFY is
      aborted by the device.  As this is the strategy used by IDE for a long
      time, it shouldn't cause too much problem.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: William Thompson <wt@electro-mechanical.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      54936f8b
    • T
      libata: ignore EH scheduling during initialization · f4d6d004
      Tejun Heo 提交于
      libata enables SCSI host during ATA host activation which happens
      after IRQ handler is registered and IRQ is enabled.  All ATA ports are
      in frozen state when IRQ is enabled but frozen ports may raise limited
      number of IRQs after being frozen - IOW, ->freeze() is not responsible
      for clearing pending IRQs.  During normal operation, the IRQ handler
      is responsible for clearing spurious IRQs on frozen ports and it
      usually doesn't require any extra code.
      
      Unfortunately, during host initialization, the IRQ handler can end up
      scheduling EH for a port whose SCSI host isn't initialized yet.  This
      results in OOPS in the SCSI midlayer.  This is relatively short window
      and scheduling EH for probing is the first thing libata does after
      initialization, so ignoring EH scheduling until initialization is
      complete solves the problem nicely.
      
      This problem was spotted by Berck E. Nash in the following thread.
      
        http://thread.gmane.org/gmane.linux.kernel/519412Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Berck E. Nash <flyboy@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      f4d6d004
    • T
      libata: clean up SFF init mess · 1626aeb8
      Tejun Heo 提交于
      The intention of using port_mask in SFF init helpers was to eventually
      support exoctic configurations such as combination of legacy and
      native port on the same controller.  This never became actually
      necessary and the related code always has been subtly broken one way
      or the other.  Now that new init model is in place, there is no reason
      to make common helpers capable of handling all corner cases.  Exotic
      cases can simply dealt within LLDs as necessary.
      
      This patch removes port_mask handling in SFF init helpers.  SFF init
      helpers don't take n_ports argument and interpret it into port_mask
      anymore.  All information is carried via port_info.  n_ports argument
      is dropped and always two ports are allocated.  LLD can tell SFF to
      skip certain port by marking it dummy.  Note that SFF code has been
      treating unuvailable ports this way for a long time until recent
      breakage fix from Linus and is consistent with how other drivers
      handle with unavailable ports.
      
      This fixes 1-port legacy host handling still broken after the recent
      native mode fix and simplifies SFF init logic.  The following changes
      are made...
      
      * ata_pci_init_native_host() and ata_init_legacy_host() both now try
        to initialized whatever they can and mark failed ports dummy.  They
        return 0 if any port is successfully initialized.
      
      * ata_pci_prepare_native_host() and ata_pci_init_one() now doesn't
        take n_ports argument.  All info should be specified via port_info
        array.  Always two ports are allocated.
      
      * ata_pci_init_bmdma() exported to be used by LLDs in exotic cases.
      
      * port_info handling in all LLDs are standardized - all port_info
        arrays are const stack variable named ppi.  Unless the second port
        is different from the first, its port_info is specified as NULL
        (tells libata that it's identical to the last non-NULL port_info).
      
      * pata_hpt37x/hpt3x2n: don't modify static variable directly.  Make an
        on-stack copy instead as ata_piix does.
      
      * pata_uli: It has 4 ports instead of 2.  Don't use
        ata_pci_prepare_native_host().  Allocate the host explicitly and use
        init helpers.  It's simple enough.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      1626aeb8
    • T
      libata: implement libata.spindown_compat · 920a4b10
      Tejun Heo 提交于
      Now that libata uses sd->manage_start_stop, libata spins down disk on
      shutdown.  In an attempt to compensate libata's previous shortcoming,
      some distros sync and spin down disks attached via libata in their
      shutdown(8).  Some disks spin back up just to spin down again on
      STANDBYNOW1 if the command is issued when the disk is spun down, so
      this double spinning down causes problem.
      
      This patch implements module parameter libata.spindown_compat which,
      when set to one (default value), prevents libata from spinning down
      disks on shutdown thus avoiding double spinning down.  Note that
      libata spins down disks for suspend to mem and disk, so with
      libata.spindown_compat set to one, disks should be properly spun down
      in all cases without modifying shutdown(8).
      
      shutdown(8) should be fixed eventually.  Some drive do spin up on
      SYNCHRONZE_CACHE even when their cache is clean.  Those disks
      currently spin up briefly when sd tries to shutdown the device and
      then the machine powers off immediately, which can't be good for the
      head.  We can't skip SYNCHRONIZE_CACHE during shudown as it can be
      dangerous data integrity-wise.
      
      So, this spindown_compat parameter is already scheduled for removal by
      the end of the next year and here's what shutdown(8) should do.
      
        * Check whether /sys/modules/libata/parameters/spindown_compat
          exists.  If it does, write 0 to it.
      
        * For each libata harddisk {
      	* Check whether /sys/class/scsi_disk/h:c:i:l/manage_start_stop
      	  exists.  Iff it doesn't, synchronize cache and spin the disk
      	  down as before.
        }
      
      The above procedure will make shutdown(8) work properly with kernels
      before this change, ones with this workaround and later ones without
      it.
      
      To accelerate shutdown(8) updates, if the compat mode is in use, this
      patch prints BIG FAT warning for five seconds during shutdown (the
      optimal interval to annoy the user just the right amount discovered by
      hours of tireless usability testing).
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      920a4b10
    • T
      libata: reimplement suspend/resume support using sdev->manage_start_stop · 9666f400
      Tejun Heo 提交于
      Reimplement suspend/resume support using sdev->manage_start_stop.
      
      * Device suspend/resume is now SCSI layer's responsibility and the
        code is simplified a lot.
      
      * DPM is dropped.  This also simplifies code a lot.  Suspend/resume
        status is port-wide now.
      
      * ata_scsi_device_suspend/resume() and ata_dev_ready() removed.
      
      * Resume now has to wait for disk to spin up before proceeding.  I
        couldn't find easy way out as libata is in EH waiting for the
        disk to be ready and sd is waiting for EH to complete to issue
        START_STOP.
      
      * sdev->manage_start_stop is set to 1 in ata_scsi_slave_config().
        This fixes spindown on shutdown and suspend-to-disk.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      9666f400
    • L
      Merge branch 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa · 0a3fd051
      Linus Torvalds 提交于
      * 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa: (122 commits)
        [ALSA] version 1.0.14rc4
        [ALSA] Add speaker pin sequencing to hda_codec.c:snd_hda_parse_pin_def_config()
        [ALSA] hda-codec - Add ALC861VD Lenovo support
        [ALSA] hda-codec - Fix connection list in generic parser
        [ALSA] usb-audio: work around wrong wMaxPacketSize on ESI M4U
        [ALSA] usb-audio: work around broken M-Audio MidiSport Uno firmware
        [ALSA] usb-audio: explicitly match Logitech QuickCam
        [ALSA] hda-codec - Fix a typo
        [ALSA] hda-codec - Fix ALC880 uniwill auto-mutes
        [ALSA] hda-codec - Fix AD1988 SPDIF playback route control
        [ALSA] wm8750 typo fix
        [ALSA] wavefront: only declare isapnp on CONFIG_PNP
        [ALSA] hda-codec - bug fixes for stac92xx HDA codecs.
        [ALSA] add MODULE_FIRMWARE entries
        [ALSA] do not depend on FW_LOADER when internal firmware images are used
        [ALSA] hda-codec - Fix resume of STAC92xx codecs
        [ALSA] usbaudio - Revert the minimal period size fix patch
        [ALSA] hda-codec - Add support for new HP DV series laptops
        [ALSA] usb-audio - Fix the minimum period size per transfer mode
        [ALSA] sound/pcmcia/vx/vxpocket.c: fix an if() condition
        ...
      0a3fd051
    • L
      Merge branch 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb · 57a44415
      Linus Torvalds 提交于
      * 'master' of ssh://master.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb: (44 commits)
        V4L/DVB (5571): V4l1-compat:  Make VIDIOCSPICT return errors in a useful way
        V4L/DVB (5624): Radio-maestro.c cleanup
        V4L/DVB (5623): Dsbr100.c Replace usb_dsbr100_do_ioctl to use video_ioctl2
        V4L/DVB (5622): Radio-zoltrix.c cleanup
        V4L/DVB (5621): Radio-cadet.c Replace cadet_do_ioctl to use video_ioctl2
        V4L/DVB (5619): Dvb-usb: fix typo
        V4L/DVB (5618): Cx88: Drop the generic i2c client from cx88-vp3054-i2c
        V4L/DVB (5617): V4L2: videodev, allow debugging
        V4L/DVB (5614): M920x: Disable second adapter on LifeView TV Walker Twin
        V4L/DVB (5613): M920x: loosen up 80-col limit
        V4L/DVB (5612): M920x: rename function prefixes from m9206_foo to m920x_foo
        V4L/DVB (5611): M920x: replace deb_rc with deb
        V4L/DVB (5610): M920x: remove duplicated code
        V4L/DVB (5609): M920x: group like functions together
        V4L/DVB (5608): M920x: various whitespace cleanups
        V4L/DVB (5607): M920x: Initial support for devices likely manufactured by Dposh
        V4L/DVB (5606): M920x: add "c-basic-offset: 8" to help emacs to enforce tabbing
        V4L/DVB (5605): M920x: Add support for LifeView TV Walker Twin
        V4L/DVB (5603): V4L: Prevent queueing queued buffers.
        V4L/DVB (5602): Enable DiSEqC in Starbox II (vp7021a)
        ...
      57a44415
    • L
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 · 2a383c63
      Linus Torvalds 提交于
      * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
        [IA64] Quicklist support for IA64
        [IA64] fix Kprobes reentrancy
        [IA64] SN: validate smp_affinity mask on intr redirect
        [IA64] drivers/char/snsc_event.c:206: warning: unused variable `p'
        [IA64] mca.c:121: warning: 'cpe_poll_timer' defined but not used
        [IA64] Fix - Section mismatch: reference to .init.data:mvec_name
        [IA64] more warning cleanups
        [IA64] Wire up epoll_pwait and utimensat
        [IA64] Fix warnings resulting from type-checking in dev_dbg()
        [IA64] typo s/kenrel/kernel/
      2a383c63
    • A
      x86_64: Don't call mtrr_bp_init from identify_cpu · 8bd99481
      Andi Kleen 提交于
      The code was ok, but triggered warnings for calling __init from
      __cpuinit. Instead call it from check_bugs instead.
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8bd99481
    • A
      x86_64: off-by-two error in aperture.c · 547c5355
      Andrew Hastings 提交于
      I'm using a custom BIOS to configure the northbridge GART at address
      0x80000000, size 2G.  Linux complains:
      
      "Aperture from northbridge cpu 0 beyond 4GB. Ignoring."
      
      I think there's an off-by-two error in arch/x86_64/kernel/aperture.c:
      
      AK: use correct types for i386
      Signed-off-by: NAndi Kleen <ak@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      547c5355
    • A
      fd0581bb
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial · 1f8a6b65
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial:
        further UTF-8 fixes and name correction
        Fix wrong identifier name in Documentation/kref.txt
      1f8a6b65
    • D
      further UTF-8 fixes and name correction · 1039592d
      David Woodhouse 提交于
      > -** Copyright 1994 by Bj<94>rn Brauel
      > +** Copyright 1994 by Bj”rn Brauel
      
      I think these were cp437, and it should read 'Björn'.
      (asm-m68k/atari*.h)
      
      Also note that Arnaldo just put more legacy noise into CREDITS...
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      1039592d
    • S
      Fix wrong identifier name in Documentation/kref.txt · b7cc4a87
      Satyam Sharma 提交于
      There's a typo / wrong identifier name in Documentation/kref.txt. Fix it.
      Signed-off-by: NSatyam Sharma <ssatyam@cse.iitk.ac.in>
      Acked-by: NCorey Minyard <minyard@acm.org>
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      b7cc4a87
    • L
      Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-ip22 · 0c4ea957
      Linus Torvalds 提交于
      * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-ip22:
        Convert SGI IP22 and specific drivers to platform_device.
      0c4ea957
    • L
      Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus · f2c60ed0
      Linus Torvalds 提交于
      * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (28 commits)
        [MIPS] Rework cobalt_board_id
        [MIPS] Use RTC_CMOS for Cobalt
        [MIPS] Use platform_device for Cobalt UART
        [MIPS] Separate Alchemy processor based boards config
        [MIPS] Fix build error in atomic64_cmpxchg
        [MIPS] Run checksyscalls for N32 and O32 ABI
        [MIPS] tlbex: use __maybe_unused
        [MIPS] excite: use __maybe_unused
        [MIPS] Add extern cobalt_board_id
        [MIPS] Remove unused CONFIG_TOSHIBA_BOARDS
        [MIPS] Rename tb0229_defconfig to tb0219_defconfig
        [MIPS] Update tb0229_defconfig; add CONFIG_GPIO_TB0219.
        [MIPS] Add minimum defconfig for RBHMA4200
        [MIPS] SB1: Build fix.
        [MIPS] Drop __devinit tag from allocate_irqno() and free_irqno()
        [MIPS] clocksource: use CLOCKSOURCE_MASK() macro
        [MIPS] Remove LIMITED_DMA support
        [MIPS] Remove Momenco Jaguar ATX support
        [MIPS] Remove Momenco Ocelot G support
        [MIPS] FPU hazard handling
        ...
      f2c60ed0
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block · cabca0cb
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.dk/data/git/linux-2.6-block:
        Fix compile/link of init/do_mounts.c with !CONFIG_BLOCK
        When stacked block devices are in-use (e.g. md or dm), the recursive calls
      cabca0cb
    • L
      Merge branch 'audit.b38' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current · 853da002
      Linus Torvalds 提交于
      * 'audit.b38' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/audit-current:
        [PATCH] Abnormal End of Processes
        [PATCH] match audit name data
        [PATCH] complete message queue auditing
        [PATCH] audit inode for all xattr syscalls
        [PATCH] initialize name osid
        [PATCH] audit signal recipients
        [PATCH] add SIGNAL syscall class (v3)
        [PATCH] auditing ptrace
      853da002
    • L
      Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid · 5884c406
      Linus Torvalds 提交于
      * 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jikos/hid:
        USB HID: hiddev - fix race between hiddev_send_event() and hiddev_release()
        HID: add hooks for getkeycode() and setkeycode() methods
        HID: switch to using input_dev->dev.parent
        USB HID: Logitech wheel 0x046d/0xc294 needs HID_QUIRK_NOGET quirk
        USB HID: usb_buffer_free() cleanup
        USB HID: report descriptor of Cypress USB barcode readers needs fixup
        Bluetooth HID: HIDP - don't initialize force feedback
        USB HID: update CONFIG_USB_HIDINPUT_POWERBOOK description
        HID: add input mappings for non-working keys on Logitech S510 remote
      5884c406
    • C
      [IA64] Quicklist support for IA64 · 2bd62a40
      Christoph Lameter 提交于
      IA64 is the origin of the quicklist implementation.  So cut out the pieces
      that are now in core code and modify the functions called.
      Signed-off-by: NChristoph Lameter <clameter@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      2bd62a40
    • A
      [IA64] fix Kprobes reentrancy · cdc7dbdf
      Anil S Keshavamurthy 提交于
      In case of reentrance i.e when a probe handler calls a functions which
      inturn has a probe, we save a previous kprobe information and just single
      step the reentrant probe without calling the actual probe handler.  During
      this reentracy period, if an interrupt occurs and if probe happens to
      trigger in the inturrupt path, then we were corrupting the previous kprobe(
      as we were overriding the previous kprobe info) info their by crashing the
      system.  This patch fixes this issues by having a an array of previous
      kprobe info struct(with the array size of 2).
      
      This similar technique is not needed on i386 and x86_64 because by default
      interrupts are turn off in the break/int3 exception handler.
      Signed-off-by: NAnil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      cdc7dbdf
    • J
      [IA64] SN: validate smp_affinity mask on intr redirect · 25d61578
      John Keller 提交于
      On SN, only allow one bit to be set in the smp_affinty mask when
      redirecting an interrupt.  Currently setting multiple bits is allowed, but
      only the first bit is used in determining the CPU to redirect to.  This has
      caused confusion among some customers.
      
      [akpm@linux-foundation.org: fixes]
      Signed-off-by: NJohn Keller <jpk@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NTony Luck <tony.luck@intel.com>
      25d61578
    • L
      Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 · ee54d2d8
      Linus Torvalds 提交于
      * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (31 commits)
        [NETFILTER]: xt_conntrack: add compat support
        [NETFILTER]: iptable_raw: ignore short packets sent by SOCK_RAW sockets
        [NETFILTER]: iptable_{filter,mangle}: more descriptive "happy cracking" message
        [NETFILTER]: nf_nat: Clears helper private area when NATing
        [NETFILTER]: ctnetlink: clear helper area and handle unchanged helper
        [NETFILTER]: nf_conntrack: Removes unused destroy operation of l3proto
        [NETFILTER]: nf_conntrack: Removes duplicated declarations
        [NETFILTER]: nf_nat: remove unused argument of function allocating binding
        [NETFILTER]: Clean up table initialization
        [NET_SCHED]: Avoid requeue warning on dev_deactivate
        [NET_SCHED]: Reread dev->qdisc for NETDEV_TX_OK
        [NET_SCHED]: Rationalise return value of qdisc_restart
        [NET]: Fix dev->qdisc race for NETDEV_TX_LOCKED case
        [UDP]: Fix AF-specific references in AF-agnostic code.
        [IrDA]: KingSun/DonShine USB IrDA dongle support.
        [IPV6] ROUTE: Assign rt6i_idev for ip6_{prohibit,blk_hole}_entry.
        [IPV6]: Do no rely on skb->dst before it is assigned.
        [IPV6]: Send ICMPv6 error on scope violations.
        [SCTP]: Do not include ABORT chunk header in the notification.
        [SCTP]: Correctly copy addresses in sctp_copy_laddrs
        ...
      ee54d2d8
    • K
      Input: evdev - fix overflow in compat_ioctl · bf61f8d3
      Kenichi Nagai 提交于
      When exporting input device bitmaps via compat_ioctl on BIG_ENDIAN
      platforms evdev calculates data size incorrectly. This causes buffer
      overflow if user specifies buffer smaller than maxlen.
      Signed-off-by: NKenichi Nagai <kenichi3.nagai@toshiba.co.jp>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bf61f8d3
    • R
      df9f5408
  2. 11 5月, 2007 13 次提交