summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2007-07-20[MIPS] Disable MT runtime detection on platforms which never support MT.Ralf Baechle9-8/+18
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-07-20KVM: MMU: Fix oopses with SLUBAvi Kivity1-13/+26
The kvm mmu uses page->private on shadow page tables; so does slub, and an oops result. Fix by allocating regular pages for shadows instead of using slub. Tested-by: S.Çağlar Onur <caglar@pardus.org.tr> Signed-off-by: Avi Kivity <avi@qumranet.com>
2007-07-20KVM: x86 emulator: implement rdmsr and wrmsrAvi Kivity3-5/+31
Allow real-mode emulation of rdmsr and wrmsr. This allows smp Windows to boot, presumably for its sipi trampoline. Signed-off-by: Avi Kivity <avi@qumranet.com>
2007-07-20KVM: Fix memory slot management functions for guest smpAvi Kivity3-123/+52
The memory slot management functions were oriented against vcpu 0, where they should be kvm-wide. This causes hangs starting X on guest smp. Fix by making the functions (and resultant tail in the mmu) non-vcpu-specific. Unfortunately this reduces the efficiency of the mmu object cache a bit. We may have to revisit this later. Signed-off-by: Avi Kivity <avi@qumranet.com>
2007-07-20KVM: MMU: Store nx bit for large page shadowsAvi Kivity2-2/+4
We need to distinguish between large page shadows which have the nx bit set and those which don't. The problem shows up when booting a newer smp Linux kernel, where the trampoline page (which is in real mode, which uses the same shadow pages as large pages) is using the same mapping as a kernel data page, which is mapped using nx, causing kvm to spin on that page. Signed-off-by: Avi Kivity <avi@qumranet.com>
2007-07-20Merge branch 'master' of ↵Linus Torvalds33-1483/+846
git://git.kernel.org/pub/scm/linux/kernel/git/sfr/ofcons * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/sfr/ofcons: Create drivers/of/platform.c Create linux/of_platorm.h [SPARC/64] Rename some functions like PowerPC Begin consolidation of of_device.h Begin to consolidate of_device.c Consolidate of_find_node_by routines Consolidate of_get_next_child Consolidate of_get_parent Consolidate of_find_property Consolidate of_device_is_compatible Start split out of common open firmware code Split out common parts of prom.h
2007-07-20Merge branch 'for-linus' of ↵Linus Torvalds13-114/+562
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: appletouch - improve powersaving for Geyser3 devices Input: lifebook - fix an oops on Panasonic CF-18 Input: document intended meaning of KEY_SWITCHVIDEOMODE Input: switch to using seq_list_xxx helpers Input: i8042 - give more trust to PNP data on i386 Input: add driver for Fujitsu serial touchscreens Input: ads7846 - re-check pendown status before reporting events Input: ads7846 - introduce sample settling delay Input: xpad - add support for leds on xbox 360 pad
2007-07-20pata_cs5520: Fix probe bug regression introduced in 2.6.22Alan Cox1-1/+1
Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linux Torvalds <torvalds@linux-foundation.org>
2007-07-20splice: fix bad unlock_page() in error caseJens Axboe1-2/+3
If add_to_page_cache_lru() fails, the page will not be locked. But splice jumps to an error path that does a page release and unlock, causing a BUG() in unlock_page(). Fix this by adding one more label that just releases the page. This bug was actually triggered on EL5 by gurudas pai <gurudas.pai@oracle.com> using fio. Signed-off-by: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20lguest: override sched_clockRusty Russell1-1/+8
Guests currently use the default scheduler clock: this means they always use jiffies even if TSC is actually available. It doesn't make any noticeable difference here, but it's a better thing to do. Also remove commented-out asm/sched-clock.h from -mm tree. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20lguest: trivial: We now have asm/processor-flags.h, so use it.Rusty Russell1-3/+1
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20lguest: fix sense if IF flag on interrupt injectionRusty Russell1-5/+5
The sense of the IF bit is backwards in the host interrupt handling. This means we always save "IF=1" on the stack when injecting an interrupt. It turns out this is almost always correct (unless the guest is taking a page fault in an interrupt due to an unpopulated vmalloc mapping), so went unnoticed. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20AFS: Use patched rxrpc_kernel_send_data() correctlyDavid Howells1-11/+10
Fix afs_send_simple_reply() to accept a greater-than-zero return value from rxrpc_kernel_send_data() as being a successful return rather than thinking it an error and aborting the call. rxrpc_kernel_send_data() previously returned zero incorrectly when it worked successfully, but has been patched to return the number of bytes it transmitted. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds56-571/+1326
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (26 commits) sh: intc - add support for SH7750 and its variants sh: Move entry point code to .text.head. sh: heartbeat: Shut up resource size warning. sh: update r2d defconfig and fix SH7751R pci compliation sh: Many symbol exports for nommu allmodconfig. sh: zero terminate 8250 platform data for r2d board sh: cpufreq: Fix up the build for SH-2. sh: Make on-chip DMA channel selection explicit. sh: Fix up CPU dependencies for on-chip DMAC. sh: cpufreq: clock framework support. sh: Support rate rounding for SH7722 FRQCR clocks. sh: Implement clk_round_rate() in the clock framework. sh: Fix up PCI section mismatch warnings. sh: Wire up fallocate() syscall. sh: intc - add support for 7780 sh: intc - improve group support sh: Fix up SH-3 and SH-4 driver dependencies. sh: push-switch: Correct license string. sh: cpufreq: Fix driver dependencies and flag as broken. sh: IPR/INTC2 IRQ setup consolidation. ...
2007-07-20Merge branch 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsaLinus Torvalds89-399/+8426
* 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa: (102 commits) [ALSA] version 1.0.14 [ALSA] remove duplicate Logitech Quickcam USB ID in usbquirks.h [ALSA] hda-codec - Fix input with STAC92xx [ALSA] hda-intel: support for iMac 24'' released on 09/2006 [ALSA] hda-codec - Add quirk for Asus P5LD2 [ALSA] snd-ca0106: Add support for X-Fi Extreme Audio. [ALSA] snd-emu10k1:Enable E-Mu 1616m notebook firmware loading. [ALSA] snd-emu10k1: Initial support for E-Mu 1616 and 1616m. [ALSA] cs46xx - Fix PM resume [ALSA] hda: Enable SPDIF in/out on some stac9205 boards [ALSA] timer: check for incorrect device state in non-debug compiles, too [ALSA] snd-aoa-codec-onyx: fix typo [ALSA] hda-codec - Add quirks for HP dx2200/dx2250 [ALSA] hda-codec - Rename HP model-specific quirks [ALSA] hda-codec - Add quirk for HP Samba [ALSA] hda-codec - Add LG LW20 line-in capture source [ALSA] usb-audio - Fix AC3 with M-Audio Audiophile USB [ALSA] hda: stac9202 mixer fix [ALSA] Make s3c24xx_i2s_set_clkdiv() change the correct bits [ALSA] hda-codec - Add LG LW20 si3054 modem id ...
2007-07-20Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh64-2.6Linus Torvalds7-130/+41
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh64-2.6: sh64: Flag sh64_get_page() as __init_refok. sh64: Move entry point code to .text.head. sh64: Fix up PCI section mismatch warnings. sh64: Update cayman defconfig. sh64: Wire up fallocate() syscall.
2007-07-20Merge branch 'cfq' of git://git.kernel.dk/data/git/linux-2.6-blockLinus Torvalds2-23/+52
* 'cfq' of git://git.kernel.dk/data/git/linux-2.6-block: cfq: Write-only stuff in CFQ data structures cfq: async queue allocation per priority
2007-07-20arm: fix up handle_mm_fault changesNick Piggin1-3/+3
Update arm to use bitwise types for its VM_FAULT_ constants. Signed-off-by: Nick Piggin <npiggin@suse.de> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20Merge branch 'upstream-linus' of ↵Linus Torvalds21-416/+816
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: (29 commits) libata: implement EH fast drain libata: schedule probing after SError access failure during autopsy libata: clear HOTPLUG flag after a reset libata: reorganize ata_ehi_hotplugged() libata: improve SCSI scan failure handling libata: quickly trigger SATA SPD down after debouncing failed libata: improve SATA PHY speed down logic The SATA controller device ID is different according to ahci: implement SCR_NOTIFICATION r/w ahci: make NO_NCQ handling more consistent libata: make ->scr_read/write callbacks return error code libata: implement AC_ERR_NCQ libata: improve EH report formatting sata_sil24: separate out sil24_do_softreset() sata_sil24: separate out sil24_exec_polled_cmd() sata_sil24: replace sil24_update_tf() with sil24_read_tf() ahci: separate out ahci_do_softreset() ahci: separate out ahci_exec_polled_cmd() ahci: separate out ahci_kick_engine() ahci: use deadline instead of fixed timeout for 1st FIS for SRST ...
2007-07-20Fix Lindent to not indent preprocessor comments so farMatthew Wilcox1-1/+1
I recently ran Lindent over the AdvanSys driver and it moved the comments on #else and #endif lines way over to the right: #else /* ADVANSYS_DEBUG */ This doesn't match what I expect from kernel style, but it is documented. We just need another flag to indent to make this look like: #else /* ADVANSYS_DEBUG */ Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20Memory leak in tpm_ascii_bios_measurements_open()Jesper Juhl1-3/+8
Coverity found a memory leak in tpm_ascii_bios_measurements_open(). If "read_log(log)" fails, then we may leak 'log' and 'log->bios_event_log'. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Cc: Seiji Munetoh <munetoh@jp.ibm.com> Cc: Stefan Berger <stefanb@us.ibm.com> Cc: Reiner Sailer <sailer@watson.ibm.com> Cc: Kylene Hall <kjhall@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20m68knommu: reformat show_cpuinfo()Greg Ungerer1-20/+21
Reformat show_cpuinfo() to be consistent with normal coding style (and rest of this file). Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20cr_backlight_probe() allocates too little storage for struct cr_panelJesper Juhl1-1/+1
The Coverity checker noticed that we allocate too little storage for "struct cr_panel *crp" in cr_backlight_probe(). Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Cc: Thomas Hellstrom <thomas@tungstengraphics.com> Cc: Alan Hourihane <alanh@tungstengraphics.com> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20async_tx: fix kmap_atomic usage in async_memcpyDan Williams3-23/+6
Andrew Morton: [async_memcpy] is very wrong if both ASYNC_TX_KMAP_DST and ASYNC_TX_KMAP_SRC can ever be set. We'll end up using the same kmap slot for both src add dest and we get either corrupted data or a BUG. Evgeniy Polyakov: Btw, shouldn't it always be kmap_atomic() even if flag is not set. That pages are usual one returned by alloc_page(). So fix the usage of kmap_atomic and kill the ASYNC_TX_KMAP_DST and ASYNC_TX_KMAP_SRC flags. Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20dpt_i2o depends on virt_to_busStephen Rothwell1-1/+1
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20fix some conversion overflowsNick Piggin3-5/+4
Fix page index to offset conversion overflows in buffer layer, ecryptfs, and ocfs2. It would be nice to convert the whole tree to page_offset, but for now just fix the bugs. Signed-off-by: Nick Piggin <npiggin@suse.de> Cc: Michael Halcrow <mhalcrow@us.ibm.com> Cc: Mark Fasheh <mark.fasheh@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20mm: fix memory hotplug oops from ZONE_MOVABLE changes.Paul Mundt1-1/+1
zone_movable_pfn is presently marked as __initdata and referenced from adjust_zone_range_for_zone_movable(), which in turn is referenced by zone_spanned_pages_in_node(). Both of these are __meminit annotated. When memory hotplug is enabled, this will oops on a hot-add, due to zone_movable_pfn having been freed. __meminitdata annotation gives the desired behaviour. This will only impact platforms that enable both memory hotplug and ARCH_POPULATES_NODE_MAP. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Acked-by: Mel Gorman <mel@csn.ul.ie> Acked-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20arch/i386/xen/events.c should #include <asm/xen/hypervisor.h>Adrian Bunk1-0/+1
Every file should include the headers containing the prototypes for its global functions. Signed-off-by: Adrian Bunk <bunk@stusta.de> Acked-by: Jeremy Fitzhardinge <jeremy@goop.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20xen: disable vdso "nosegneg" on native bootRoland McGrath4-6/+29
One of the nice ideas behind paravirt is that CONFIG_XEN=y can be included in a standard configuration and be no worse for native booting than as a Xen guest. The glibc feature that supports the vDSO "nosegneg" note is designed specifically to make this easy. You just have to flip one bit at boot time. This patch makes Xen flip the bit, so a CONFIG_XEN=y kernel on bare hardware does not make glibc use the less-optimized library builds. Signed-off-by: Roland McGrath <roland@redhat.com> Acked-by: Jeremy Fitzhardinge <jeremy@xensource.com> Cc: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20Merge branch 'master' of ↵Linus Torvalds16-133/+136
master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 * 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6: [SPARC64]: Fix two year old bug in early bootup asm. [SPARC64]: Update defconfig. [SPARC64]: Fix log message type in vio_create_one(). [SPARC64]: Tweak assertions in sun4v_build_virq(). [SPARC64]: Tweak kernel log messages in power_probe(). [SPARC64]: Fix handling of multiple vdc-port nodes. [SPARC64]: Fix device type matching in VIO's devspec_show(). [SPARC64]: Fix MODULE_DEVICE_TABLE() specification in VDC and VNET. [SPARC]: Add sys_fallocate() entries. [SPARC64]: Use orderly_poweroff().
2007-07-20Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6Linus Torvalds47-1079/+5350
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (44 commits) USB: drivers/usb/storage/dpcm.c whitespace cleanup USB: r8a66597-hcd: fixes some problem USB: change name of spinlock in hcd.c USB: move routines in hcd.c USB: misc: uss720: clean up urb->status usage USB: misc: usbtest: clean up urb->status usage USB: misc: usblcd: clean up urb->status usage USB: misc: phidgetmotorcontrol: clean up urb->status usage USB: misc: phidgetkit: clean up urb->status usage USB: misc: legousbtower: clean up urb->status usage USB: misc: ldusb: clean up urb->status usage USB: misc: iowarrior: clean up urb->status usage USB: misc: ftdi-elan: clean up urb->status usage USB: misc: auerswald: clean up urb->status usage USB: misc: appledisplay: clean up urb->status usage USB: misc: adtux: clean up urb->status usage USB: core: message: clean up urb->status usage USB: image: microtek: clean up urb->status usage USB: image: mdc800: clean up urb->status usage USB: storage: onetouch: clean up urb->status usage ...
2007-07-20fix gfp_t annotations for slubAl Viro1-1/+1
Since we have use like ~SLUB_DMA, we ought to have the type set right in both cases. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20ANSIfy a couple of functions in netfilterAl Viro1-2/+2
It's C, not C++... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20Fix lguest misannotationAl Viro1-1/+1
It's void __user *, not void * __user... Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20Fix up sky2 breakageAl Viro1-3/+4
Doing |= 1 << 19 to 16bit unsigned is not particulary useful; that register is 32bit, unlike the ones dealt with in the rest of function, so we need u32 variable here. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Acked-by: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20Fix buggered kmalloc() call argument orderAl Viro1-1/+1
Wrong order of arguments Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20m68k: exclude more unbuildable driversAl Viro2-1/+4
anything that wants working dma-mapping won't work parport_pc won't work on m68k unless we have ISA Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20mac89x0: missing __initAl Viro1-1/+1
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20m68k: remove empty ->setup is several consolesAl Viro2-14/+0
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20m68k: missing __initAl Viro12-15/+17
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20m68k: missing exportsAl Viro6-1/+21
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20m68k: use .text.headAl Viro4-3/+4
i.e. tell modpost that entry point code (that has to be outside of .init.text for external reasons) is OK to refer to .init.* Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20m68k iomem (based on Geert's tree + memcpy_... stuff)Al Viro3-14/+73
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20m68k: teach modpost about .m68_fixupAl Viro1-0/+1
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20more isa/eisa/pci-only drivers marked as suchAl Viro1-2/+2
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-20libata: implement EH fast drainTejun Heo4-2/+104
In most cases, when EH is scheduled, all in-flight commands are aborted causing EH to kick in immediately. However, in some cases (especially with PMP), it's unclear which commands are affected by the error condition and although aborting all in-flight commands work, it isn't optimal and may cause unnecessary disruption. On the other hand, waiting for in-flight commands to drain themselves can take up to 30seconds. This patch implements EH fast drain to handle such situations. It gives in-flight commands some time to finish up but doesn't wait for too long. After EH is scheduled, fast drain timer is started and if no other completion occurs in ATA_EH_FASTDRAIN_INTERVAL all in-flight commands are aborted. If any completion occurred in the interval, the port is given another interval to finish up itself. Currently ATA_EH_FASTDRAIN_INTERVAL is 3 secs which should be enough for finishing up most commands. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-07-20libata: schedule probing after SError access failure during autopsyTejun Heo1-1/+5
If SError isn't accessible, EH can't tell whether hotplug has happened or not. Report SError read failure with AC_ERR_OTHER and schedule probing with hardreset. This will be mainly useful for PMPs. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-07-20libata: clear HOTPLUG flag after a resetTejun Heo1-5/+10
ATA_EHI_HOTPLUGGED is a hint for reset functions indicating the the port might have gone through hotplug/unplug just before entering EH. Reset functions modify their behaviors a bit to handle the situation better - e.g. using longer debouncing delay. Currently, once HOTPLUG is set, it isn't cleared till the end of EH. This is unnecessary and makes EH take longer. Clear the HOTPLUGGED flag after a reset try (successful or not). Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-07-20libata: reorganize ata_ehi_hotplugged()Tejun Heo1-3/+4
__ata_ehi_hotplugged() now has no users. Regorganize ata_ehi_hotplugged() such that a new function ata_ehi_schedule_probe() deals with scheduling probing. ata_ehi_hotplugged() calls it and additionally marks hotplug specific flags. ata_ehi_schedule_probe() will be used laster. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-07-20libata: improve SCSI scan failure handlingTejun Heo3-18/+49
SCSI scan may fail due to memory allocation failure even if EH is not in progress. Due to use of GFP_ATOMIC in SCSI scan path, allocation failure isn't too rare especially while probing multiple devices at once which is the case when a bunch of devices are connected to PMP. This patch moves SCSI scan failure detetion logic from ata_scsi_hotplug() to ata_scsi_scan_host() and implement synchronous scan behavior. The synchronous path sleeps briefly and repeats SCSI scan if some devices aren't attached properly. It contains robust retry loop to minimize the chance of device misdetection during boot and falls back to async retry if everything fails. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>