commit fd048088306656824958e7783ffcee27e241b361 Merge: 5c3c4d9... 03010a3... Author: Linus Torvalds Date: Sat Oct 11 13:23:48 2008 -0700 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (43 commits) ext4: Rename ext4dev to ext4 ext4: Avoid double dirtying of super block in ext4_put_super() Update ext4 MAINTAINERS file Hook ext4 to the vfs fiemap interface. generic block based fiemap implementation ocfs2: fiemap support vfs: vfs-level fiemap interface ext4: fix xattr deadlock jbd2: Fix buffer head leak when writing the commit block ext4: Add debugging markers that can be used by systemtap jbd2: abort instead of waiting for nonexistent transaction ext4: fix initialization of UNINIT bitmap blocks ext4: Remove old legacy block allocator ext4: Use readahead when reading an inode from the inode table ext4: Improve the documentation for ext4's /proc tunables ext4: Combine proc file handling into a single set of functions ext4: move /proc setup and teardown out of mballoc.c ext4: Don't use 'struct dentry' for internal lookups ext4/jbd2: Avoid WARN() messages when failing to write to the superblock ext4: use percpu data structures for lg_prealloc_list ... commit 5c3c4d9b5810c9aabd8c05219c62ca088aa83eb0 Merge: ead9d23... 92f1f8f... Author: Linus Torvalds Date: Sat Oct 11 13:22:33 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (71 commits) ide: Remove ide_spin_wait_hwgroup() and use special requests instead ide: move IDE{FLOPPY,TAPE}_WAIT_CMD defines to ide: add ide_do_test_unit_ready() helper ide: add ide_do_start_stop() helper ide: add ide_set_media_lock() helper ide-floppy: move floppy ioctls handling to ide-floppy_ioctl.c ide-floppy: ->{srfp,wp} -> IDE_AFLAG_{SRFP,WP} ide: add ide_queue_pc_tail() helper ide: add ide_queue_pc_head() helper ide: add ide_init_pc() helper ide-tape: add ide_tape_set_media_lock() helper ide-floppy: add ide_floppy_set_media_lock() helper ide: add ide_io_buffers() helper ide-scsi: cleanup ide_scsi_io_buffers() ide-floppy: remove MODE_SENSE_* defines ide-{floppy,tape}: remove packet command stack ide-{floppy,tape}: remove request stack ide-generic: handle probing of legacy io-ports v5 ide-floppy: use scatterlists for pio transfers ide-tape: remove idetape_init_rq() ... commit ead9d23d803ea3a73766c3cb27bf7563ac8d7266 Merge: bf6f51e... 0afe2db... Author: Linus Torvalds Date: Sat Oct 11 11:47:30 2008 -0700 Merge phase #4 (X2APIC, APIC unification, CPU identification unification) of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-v28-for-linus-phase4-D' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (186 commits) x86, debug: print more information about unknown CPUs x86 setup: handle more than 8 CPU flag words x86: cpuid, fix typo x86: move transmeta cap read to early_init_transmeta() x86: identify_cpu_without_cpuid v2 x86: extended "flags" to show virtualization HW feature in /proc/cpuinfo x86: move VMX MSRs to msr-index.h x86: centaur_64.c remove duplicated setting of CONSTANT_TSC x86: intel.c put workaround for old cpus together x86: let intel 64-bit use intel.c x86: make intel_64.c the same as intel.c x86: make intel.c have 64-bit support code x86: little clean up of intel.c/intel_64.c x86: make 64 bit to use amd.c x86: make amd_64 have 32 bit code x86: make amd.c have 64bit support code x86: merge header in amd_64.c x86: add srat_detect_node for amd64 x86: remove duplicated force_mwait x86: cpu make amd.c more like amd_64.c v2 ... commit 0afe2db21394820d32646a695eccf3fbfe6ab5c7 Merge: d847059... 43603c8... Author: Ingo Molnar Date: Sat Oct 11 20:23:20 2008 +0200 Merge branch 'x86/unify-cpu-detect' into x86-v28-for-linus-phase4-D Conflicts: arch/x86/kernel/cpu/common.c arch/x86/kernel/signal_64.c include/asm-x86/cpufeature.h commit d84705969f898f294bc3fc32eca33580f14105bd Merge: 725c258... 11494547... Author: Ingo Molnar Date: Fri Oct 10 19:50:00 2008 +0200 Merge branch 'x86/apic' into x86-v28-for-linus-phase4-B Conflicts: arch/x86/kernel/apic_32.c arch/x86/kernel/apic_64.c arch/x86/kernel/setup.c drivers/pci/intel-iommu.c include/asm-x86/cpufeature.h include/asm-x86/dma-mapping.h commit bf6f51e3a46f6a602853d3cbacd05864bc6e2a37 Merge: ec8deff... 725c258... Author: Linus Torvalds Date: Sat Oct 11 11:03:09 2008 -0700 Merge phase #3 (IOMMU) of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-v28-for-linus-phase3-B' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (74 commits) AMD IOMMU: use iommu_device_max_index, fix AMD IOMMU: use iommu_device_max_index x86: add PCI IDs for AMD Barcelona PCI devices x86/iommu: use __GFP_ZERO instead of memset for GART x86/iommu: convert GART need_flush to bool x86/iommu: make GART driver checkpatch clean x86 gart: remove unnecessary initialization x86: restore old GART alloc_coherent behavior revert "x86: make GART to respect device's dma_mask about virtual mappings" x86: export pci-nommu's alloc_coherent iommu: remove fullflush and nofullflush in IOMMU generic option x86: remove set_bit_string() iommu: export iommu_area_reserve helper function AMD IOMMU: use coherent_dma_mask in alloc_coherent add AMD IOMMU tree to MAINTAINERS file AMD IOMMU: use cmd_buf_size when freeing the command buffer AMD IOMMU: calculate IVHD size with a function AMD IOMMU: remove unnecessary cast to u64 in the init code AMD IOMMU: free domain bitmap with its allocation order AMD IOMMU: simplify dma_mask_to_pages ... commit ec8deffa33757286ba59e71d3d98173c37638b37 Merge: 7cc4e87... 3dd392a... Author: Linus Torvalds Date: Sat Oct 11 10:59:00 2008 -0700 Merge phase #2 (PAT updates) of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'x86-v28-for-linus-phase2-B' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (27 commits) x86, cpa: make the kernel physical mapping initialization a two pass sequence, fix x86, pat: cleanups x86: fix pagetable init 64-bit breakage x86: track memtype for RAM in page struct x86, cpa: srlz cpa(), global flush tlb after splitting big page and before doing cpa x86, cpa: remove cpa pool code x86, cpa: no need to check alias for __set_pages_p/__set_pages_np x86, cpa: dont use large pages for kernel identity mapping with DEBUG_PAGEALLOC x86, cpa: make the kernel physical mapping initialization a two pass sequence x86, cpa: remove USER permission from the very early identity mapping attribute x86, cpa: rename PTE attribute macros for kernel direct mapping in early boot x86: make sure the CPA test code's use of _PAGE_UNUSED1 is obvious linux-next: fix x86 tree build failure x86: have set_memory_array_{uc,wb} coalesce memtypes, fix agp: enable optimized agp_alloc_pages methods x86: have set_memory_array_{uc,wb} coalesce memtypes. x86: {reverve,free}_memtype() take a physical address x86: fix pageattr-test agp: add agp_generic_destroy_pages() agp: generic_alloc_pages() ... commit 7cc4e87f912bbefa440a51856b8d076e5d1f554a Merge: 5ba2f67... 69fc7ee... Author: Linus Torvalds Date: Sat Oct 11 10:09:45 2008 -0700 Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (236 commits) [ARM] 5300/1: fixup spitz reset during boot [ARM] 5295/1: make ZONE_DMA optional [ARM] 5239/1: Palm Zire 72 power management support [ARM] 5298/1: Drop desc_handle_irq() [ARM] 5297/1: [KS8695] Fix two compile-time warnings [ARM] 5296/1: [KS8695] Replace macro's with trailing underscores. [ARM] pxa: allow multi-machine PCMCIA builds [ARM] pxa: add preliminary CPUFREQ support for PXA3xx [ARM] pxa: add missing ACCR bit definitions to pxa3xx-regs.h [ARM] pxa: rename cpu-pxa.c to cpufreq-pxa2xx.c [ARM] pxa/zylonite: add support for USB OHCI [ARM] ohci-pxa27x: use ioremap() and offset for register access [ARM] ohci-pxa27x: introduce pxa27x_clear_otgph() [ARM] ohci-pxa27x: use platform_get_{irq,resource} for the resource [ARM] ohci-pxa27x: move OHCI controller specific registers into the driver [ARM] ohci-pxa27x: introduce flags to avoid direct access to OHCI registers [ARM] pxa: move I2S register and bit definitions into pxa2xx-i2s.c [ARM] pxa: simplify DMA register definitions [ARM] pxa: make additional DCSR bits valid for PXA3xx [ARM] pxa: move i2c register and bit definitions into i2c-pxa.c ... Fixed up conflicts in arch/arm/mach-versatile/core.c sound/soc/pxa/pxa2xx-ac97.c sound/soc/pxa/pxa2xx-i2s.c manually. commit 5ba2f67afb02c5302b2898949ed6fc3b3d37dcf1 Author: Arjan van de Ven Date: Fri Oct 10 21:16:12 2008 -0700 security: avoid calling a NULL function pointer in drivers/video/tvaudio.c NULL function pointers are very bad security wise. This one got caught by kerneloops.org quite a few times, so it's happening in the field.... Fix is simple, check the function pointer for NULL, like 6 other places in the same function are already doing. Signed-off-by: Arjan van de Ven Signed-off-by: Linus Torvalds commit 64f1b65382054f8bfd528f2c4253297c232816eb Author: Linus Torvalds Date: Sat Oct 11 09:46:24 2008 -0700 net: fix dummy 'nf_conntrack_event_cache()' The dummy version of 'nf_conntrack_event_cache()' (used when the NF_CONNTRACK_EVENTS config option is not enabled) had not been updated when the calling convention changed. This was introduced by commit a71996fccce4b2086a26036aa3c915365ca36926 ("netfilter: netns nf_conntrack: pass conntrack to nf_conntrack_event_cache() not skb") Tssk. Cc: Alexey Dobriyan Cc: Patrick McHardy Cc: David Miller Signed-off-by: Linus Torvalds commit 4dd9ec4946b4651a295d3bc8df9c15ac692a8f4e Merge: 86ed5a9... 6861ff3... Author: Linus Torvalds Date: Sat Oct 11 09:33:18 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1075 commits) myri10ge: update driver version number to 1.4.3-1.369 r8169: add shutdown handler r8169: preliminary 8168d support r8169: support additional 8168cp chipset r8169: change default behavior for mildly identified 8168c chipsets r8169: add a new 8168cp flavor r8169: add a new 8168c flavor (bis) r8169: add a new 8168c flavor r8169: sync existing 8168 device hardware start sequences with vendor driver r8169: 8168b Tx performance tweak r8169: make room for more specific 8168 hardware start procedure r8169: shuffle some registers handling around (8168 operation only) r8169: new phy init parameters for the 8168b r8169: update phy init parameters r8169: wake up the PHY of the 8168 af_key: fix SADB_X_SPDDELETE response ath9k: Fix return code when ath9k_hw_setpower() fails on reset ath9k: remove nasty FAIL macro from ath9k_hw_reset() gre: minor cleanups in netlink interface gre: fix copy and paste error ... commit 86ed5a93b8b56e4e0877b914af0e10883a196384 Merge: 835a1c0... b77d753... Author: Linus Torvalds Date: Sat Oct 11 09:31:53 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6: [CIFS] Check that last search entry resume key is valid [CIFS] make sure we have the right resume info before calling CIFSFindNext [CIFS] clean up error handling in cifs_unlink [CIFS] fix some settings of cifsAttrs after calling SetFileInfo and SetPathInfo cifs: explicitly revoke SPNEGO key after session setup cifs: Convert cifs to new aops. [CIFS] update DOS attributes in cifsInode if we successfully changed them cifs: remove NULL termination from rename target in CIFSSMBRenameOpenFIle cifs: work around samba returning -ENOENT on SetFileDisposition call cifs: fix inverted NULL check after kmalloc [CIFS] clean up upcall handling for dns_resolver keys [CIFS] fix busy-file renames and refactor cifs_rename logic cifs: add function to set file disposition [CIFS] add constants for string lengths of keynames in SPNEGO upcall string cifs: move rename and delete-on-close logic into helper function cifs: have find_writeable_file prefer filehandles opened by same task cifs: don't use GFP_KERNEL with GFP_NOFS [CIFS] use common code for turning off ATTR_READONLY in cifs_unlink cifs: clean up variables in cifs_unlink commit 835a1c092432b3293ba6c4dec45ee6869c6f61fd Merge: d3570a5... 9609e74... Author: Linus Torvalds Date: Sat Oct 11 09:19:02 2008 -0700 Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (49 commits) MIPS: RB532: provide GPIO_BUILTIN_NR and irq_to_gpio/gpio_to_irq MIPS: Move ptrace prototypes to ptrace.h MIPS: Ptrace support for HARDWARE_WATCHPOINTS MIPS: Scheduler support for HARDWARE_WATCHPOINTS. MIPS: Watch exception handling for HARDWARE_WATCHPOINTS. MIPS: Probe watch registers and report configuration. MIPS: Add HARDWARE_WATCHPOINTS definitions and support code. MIPS: Add HARDWARE_WATCHPOINTS configure option. MIPS: Replace use of with native implementations. MIPS: TXx9: Add TX4939 ATA support (v2) MIPS: Rewrite spinlocks to ticket locks. MIPS: IP checksums: Optimize adjust of sum on buffers of odd alignment. MIPS: IP checksums: Remove unncessary .set pseudos MIPS: IP checksums: Remove unncessary folding of sum to 16 bit. MIPS: Move headfiles to new location below arch/mips/include MIPS: Alchemy: rename directory MIPS: Optimize get_user and put_user for 64-bit MIPS: TXx9: Implement prom_free_prom_memory MIPS: TXx9: Add RBTX4939 board support MIPS: TXx9: Add TX4939 SoC support ... commit d3570a5a7b8d0604fa012129f92637dc1534f62c Merge: 37d9869... 72474be... Author: Linus Torvalds Date: Sat Oct 11 09:16:54 2008 -0700 Merge branch 'for-linus' of git://git.alsa-project.org/alsa-kernel * 'for-linus' of git://git.alsa-project.org/alsa-kernel: (258 commits) ALSA: hda: VREF powerdown for headphones ALSA: hda: STAC_HP_M4 ALSA: ASoC: Check for machine type in GTA01 machine driver ALSA: mtpav - Fix race in probe ALSA: usb-audio: dynamic detection of MIDI interfaces in uaxx-quirk ALSA: Add a note on dependency of RTC stuff ALSA: ASoC: add new param mux to dapm_mux_update_power ALSA: Increase components array size ALSA: ASoC: Correct inverted Mic PGA Switch control in wm8510 driver ALSA: hda: comment typo fix ALSA: hda: comment typo fix ALSA: hda - Fix PCI SSID for ASROCK K18N78FullHD-hSLI ALSA: snd-usb-audio: support for Edirol UA-4FX device ALSA: usb - Fix possible Oops at USB-MIDI disconnection ALSA: hda - Fix another ALC889A (rev 0x100101) ALSA: hda: add more board-specific information for Realtek ALC662 rev1 ALSA: Correct Vladimir Barinov's e-mail address ALSA: cs46xx: Add PCI IDs for TerraTec and Hercules cards ALSA: hda: SPDIF stream muting support ALSA: hda: appletv support ... commit 37d9869ed928268409b48f52c57449918c0fd307 Merge: 098ef21... 89d4984... Author: Linus Torvalds Date: Sat Oct 11 08:50:01 2008 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (27 commits) [S390] Fix checkstack for s390 [S390] fix initialization of stp [S390] 3215: Remove tasklet. [S390] console flush on panic / reboot [S390] introduce dirty bit for kvm live migration [S390] Add ioctl support for EMC Symmetrix Subsystem Control I/O [S390] xpram: per device block request queues. [S390] dasd: fix message flood for unsolicited interrupts [S390] Move private simple udelay function to arch/s390/lib/delay.c. [S390] dcssblk: add >2G DCSSs support and stacked contiguous DCSSs support. [S390] ptrace changes [S390] s390: use sys_pause for 31bit pause entry point [S390] qdio enhanced SIGA (iqdio) support. [S390] cio: fix cio_tpi. [S390] cio: Correct use of ! and & [S390] cio: inline assembly cleanup [S390] bus_id -> dev_set_name() for css and ccw busses [S390] bus_id ->dev_name() conversions in qdio [S390] Use s390_root_dev_* in kvm_virtio. [S390] more bus_id -> dev_name conversions ... commit 098ef215b1e87cff51f983bae4e4e1358b932ec9 Merge: b922df7... 4f6e6b9... Author: Linus Torvalds Date: Sat Oct 11 08:49:34 2008 -0700 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq: [CPUFREQ] Fix BUG: using smp_processor_id() in preemptible code [CPUFREQ] Don't export governors for default governor [CPUFREQ][6/6] cpufreq: Add idle microaccounting in ondemand governor [CPUFREQ][5/6] cpufreq: Changes to get_cpu_idle_time_us(), used by ondemand governor [CPUFREQ][4/6] cpufreq_ondemand: Parameterize down differential [CPUFREQ][3/6] cpufreq: get_cpu_idle_time() changes in ondemand for idle-microaccounting [CPUFREQ][2/6] cpufreq: Change load calculation in ondemand for software coordination [CPUFREQ][1/6] cpufreq: Add cpu number parameter to __cpufreq_driver_getavg() [CPUFREQ] use deferrable delayed work init in conservative governor [CPUFREQ] drivers/cpufreq/cpufreq.c: Adjust error handling code involving cpufreq_cpu_put [CPUFREQ] add error handling for cpufreq_register_governor() error [CPUFREQ] acpi-cpufreq: add error handling for cpufreq_register_driver() error [CPUFREQ] Coding style fixes to arch/x86/kernel/cpu/cpufreq/powernow-k6.c [CPUFREQ] Coding style fixes to arch/x86/kernel/cpu/cpufreq/elanfreq.c commit 9609e74093abd9f61fb1d20a8915a8ea87c77d5a Author: Florian Fainelli Date: Thu Sep 11 17:48:00 2008 +0200 MIPS: RB532: provide GPIO_BUILTIN_NR and irq_to_gpio/gpio_to_irq This patchs defines the number of built-in the GPIOs present on the SoC as Documentation/gpio.txt recommends to do. Define irq_to_gpio/gpio_to_irq to return the right values so that it fixes a compilation error on drivers/gpio/gpiolib.c when enabling debugfs. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit d302d05cf4d25f4fbbec0f9338fac13ee0c0ad89 Author: Ralf Baechle Date: Sat Oct 11 16:18:57 2008 +0100 MIPS: Move ptrace prototypes to ptrace.h Signed-off-by: Ralf Baechle commit 0926bf953ee79b8f139741b442e5a18520f81705 Author: David Daney Date: Tue Sep 23 00:11:26 2008 -0700 MIPS: Ptrace support for HARDWARE_WATCHPOINTS This is the final part of the watch register patch. Here we hook up ptrace so that the user space debugger (gdb), can set and read the registers. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 2c708cbaa6031b73be6b992adb3ec1811f91cdb1 Author: David Daney Date: Tue Sep 23 00:09:51 2008 -0700 MIPS: Scheduler support for HARDWARE_WATCHPOINTS. Here we hook up the scheduler. Whenever we switch to a new process, we check to see if the watch registers should be installed, and do it if needed. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit b67b2b703047bfaf62687ca64c9486599b609ef0 Author: David Daney Date: Tue Sep 23 00:08:45 2008 -0700 MIPS: Watch exception handling for HARDWARE_WATCHPOINTS. Here we hook up the watch exception handler so that it sends SIGTRAP when the hardware watch registers are triggered. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 654f57bfb467996fb730eae96dc30ea4de989fdc Author: David Daney Date: Tue Sep 23 00:07:16 2008 -0700 MIPS: Probe watch registers and report configuration. Probe for watch register characteristics, and report them in /proc/cpuinfo. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 6aa3524c182c01b8b8b7c21c4da20c742a9b4d86 Author: David Daney Date: Tue Sep 23 00:05:54 2008 -0700 MIPS: Add HARDWARE_WATCHPOINTS definitions and support code. This is the main support code for the patch. Here we just add the code, the following patches hook it up. Signed-off-by: David Daney Signed-off-by: Ralf Baechle create mode 100644 arch/mips/include/asm/watch.h create mode 100644 arch/mips/kernel/watch.c commit 8192c9ea9ac44213d1266ecb64615519443979b3 Author: David Daney Date: Tue Sep 23 00:04:26 2008 -0700 MIPS: Add HARDWARE_WATCHPOINTS configure option. This is automatically set for all MIPS32 and MIPS64 processors. Signed-off-by: David Daney Signed-off-by: Ralf Baechle commit 71ec6ccfdc2706e767189d40016fc802305067bb Author: Ralf Baechle Date: Tue Oct 31 02:52:56 2006 +0000 MIPS: Replace use of with native implementations. Signed-off-by: Ralf Baechle commit 4bacc68766b11c191ee1567f54103f109c002f4f Author: Atsushi Nemoto Date: Thu Sep 18 00:13:58 2008 +0900 MIPS: TXx9: Add TX4939 ATA support (v2) Add a helper routine to register tx4939ide driver and use it on RBTX4939 board. Signed-off-by: Atsushi Nemoto Acked-by: Sergei Shtylyov Signed-off-by: Ralf Baechle commit 2a31b03335e570dce5fdd082e0d71d48b2cb4290 Author: Ralf Baechle Date: Thu Aug 28 15:17:49 2008 +0100 MIPS: Rewrite spinlocks to ticket locks. Based on patch by Chad Reese of Cavium Networks. Signed-off-by: Ralf Baechle commit b65a75b8c91c0f05047399401407371678fe9549 Author: Ralf Baechle Date: Sat Oct 11 16:18:53 2008 +0100 MIPS: IP checksums: Optimize adjust of sum on buffers of odd alignment. Signed-off-by: Ralf Baechle commit 60724ca59eda766a30be57aec6b49bc3e2bead91 Author: Ralf Baechle Date: Sat Oct 11 16:18:53 2008 +0100 MIPS: IP checksums: Remove unncessary .set pseudos They possibly silence meaningful warnings ... Signed-off-by: Ralf Baechle commit d86a8123b11a9a40d850f6e88b89c948c2477da3 Author: Ralf Baechle Date: Sat Oct 11 16:18:53 2008 +0100 MIPS: IP checksums: Remove unncessary folding of sum to 16 bit. Signed-off-by: Ralf Baechle commit 384740dc49ea651ba350704d13ff6be9976e37fe Author: Ralf Baechle Date: Tue Sep 16 19:48:51 2008 +0200 MIPS: Move headfiles to new location below arch/mips/include Signed-off-by: Ralf Baechle commit e8c7c482347574ecdd45c43e32c332d5fc2ece61 Author: Ralf Baechle Date: Tue Sep 16 19:12:16 2008 +0200 MIPS: Alchemy: rename directory It's more than the au1000 these days. Signed-off-by: Ralf Baechle commit 8d2d91e86b4153cc2305ec86fe908048f459ff7f Author: Ralf Baechle Date: Sat Oct 11 16:18:50 2008 +0100 MIPS: Optimize get_user and put_user for 64-bit A long for the error value leads to unnecessary sign extensions. This patch shrinks an ip27_defconfig kernel build with gcc 4.3.0 by 2256 bytes. Signed-off-by: Ralf Baechle commit b6263ff2d6e58cc2fe615219ab2a06778b5e6cef Author: Atsushi Nemoto Date: Mon Sep 1 22:22:41 2008 +0900 MIPS: TXx9: Implement prom_free_prom_memory Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit b27311e1cace4e296ace786c886d22f7a8ec78d6 Author: Atsushi Nemoto Date: Mon Sep 1 22:22:40 2008 +0900 MIPS: TXx9: Add RBTX4939 board support Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle create mode 100644 arch/mips/txx9/rbtx4939/Makefile create mode 100644 arch/mips/txx9/rbtx4939/irq.c create mode 100644 arch/mips/txx9/rbtx4939/prom.c create mode 100644 arch/mips/txx9/rbtx4939/setup.c create mode 100644 include/asm-mips/txx9/rbtx4939.h commit 0dcdbe6add26719e956299eb519542f7d2f7d0a8 Author: Atsushi Nemoto Date: Mon Sep 1 22:22:39 2008 +0900 MIPS: TXx9: Add TX4939 SoC support Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle create mode 100644 arch/mips/pci/pci-tx4939.c create mode 100644 arch/mips/txx9/generic/irq_tx4939.c create mode 100644 arch/mips/txx9/generic/setup_tx4939.c create mode 100644 include/asm-mips/txx9/tx4939.h commit ae027ead87b13cff99b4f48da7696aa4fe75393b Author: Atsushi Nemoto Date: Mon Sep 1 22:22:38 2008 +0900 MIPS: TXx9: IOC LED support Add leds-gpio platform device for controlling LEDs connected to IOC on RBTX49XX and JMR3927 board. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 21e77df215e58523a755b5dd006cb17610616f20 Author: Atsushi Nemoto Date: Mon Sep 1 22:22:37 2008 +0900 MIPS: TXx9: Microoptimize interrupt handlers The IOC interrupt status register on RBTX49XX only have 8 bits. Use 8-bit version of __fls() to optimize interrupt handlers. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f6d9831bb11eb465f95fb1736b866d405d9c7cbf Author: Atsushi Nemoto Date: Mon Sep 1 22:22:36 2008 +0900 MIPS: TXx9: stop_unused_modules TXx9 SoCs have pin multiplex. Stop some controller modules which can not be used due to pin configurations. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9bed90c6a46f10c2d3052c0585057a5cb7392b92 Author: Florian Fainelli Date: Sat Aug 23 18:54:37 2008 +0200 Documentation: Document the RB532 specific kmac tag The Routerboard 532 bootloader passes the korina ethernet MAC adapter address to the kernel on the command line. Document this in the kernel-parameters file. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit d888e25b8dd1b501ac75b0c6587c043a394319c3 Author: Florian Fainelli Date: Sat Aug 23 18:54:34 2008 +0200 MIPS: RB532: Convert to GPIO lib This patch converts the rb532 code to use gpio library and register its gpio chip. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 09b7dcf220a37245b16fd4a716923d75bf6edf8b Author: Florian Fainelli Date: Sat Aug 23 18:54:04 2008 +0200 MIPS: RB532: Remove unused rc32434_sync_delay and rc32434_sync_udelay This patch removes these two unused functions : rc32434_sync_delay and rc32434_sync_udelay Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 606a083b1e1a357cb66454e4581b80f1a67d8368 Author: Florian Fainelli Date: Sat Aug 23 18:53:50 2008 +0200 MIPS: RB532: Cleanup the headers again This patch cleans up headers and regroups informations to where they should reside. While moving, try to have a consistant naming for defines. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit deeb45ac4a32c8271b022ecba73913bc1112e8e6 Author: Florian Fainelli Date: Sat Aug 23 18:53:24 2008 +0200 MIPS: RB532: Remove obsolute reference to setup_serial_port We are no longer using setup_serial_port. So just remove it from the prom code. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit b6e2f58a503b56e154f90dc516647c93c5fe873d Author: Florian Fainelli Date: Fri Aug 22 17:03:03 2008 +0200 MIPS: RB532: Fix id usage in platform devices When there is only platform device of the same type, id = -1 should be used, fix this. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit c76befc3429354909d3242d11b8d3bcb3bea4b03 Author: Florian Fainelli Date: Fri Aug 22 17:02:03 2008 +0200 MIPS: RB532: replace raw volatile read with a readl This patch replaces a raw read using volatiles with a readl. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 49afa0a15180c22c8836ef36edd6aa48ab7b2915 Author: Florian Fainelli Date: Fri Aug 22 17:01:31 2008 +0200 MIPS: RB532: Remove gpio bootup state We are no longer using gpio bootup state, so do not export it and do not parse the kernel command line tag for it. Instead we provide gpio-keys for the button the gpio bootup state was checking. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 3c8cf8caa5b217fbb17d0dce7f6bbec1d7da7249 Author: Florian Fainelli Date: Fri Aug 22 17:01:03 2008 +0200 MIPS: RB532: Use physical addresses for gpio and device controller registers This patch fixes the misuse of virtual addresses for the GPIO and third device controller which would lead to problems while accessing ioremap'd registers. Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 3cd4e067a3e548a56a8b5e202552dcd18a2783a9 Author: Florian Fainelli Date: Fri Aug 22 17:00:22 2008 +0200 MIPS: RB532: Cleanup and group definitions to their right places This patch moves GPIO related definitions to gpio.h and IRQ related to irq.h Signed-off-by: Florian Fainelli Signed-off-by: Ralf Baechle commit 021635280d4572b9d9bb5481b00afea8a66b295f Author: Atsushi Nemoto Date: Tue Aug 19 22:55:18 2008 +0900 MIPS: TXx9: Declare smsc_fdc37m81x_config_get() in smsc_fdc37m81x.h Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit ee25d33f87348fd9e0ea148c4a25a3e7415fb5ba Author: Atsushi Nemoto Date: Tue Aug 19 22:55:17 2008 +0900 MIPS: TXx9: Add __init tag for tx4938_pcic1_map_irq. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit ce8e74112b1b1215aa5bbe261ed751498ce65434 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:16 2008 +0900 MIPS: TXx9: Add board_be_init for TX4927/TX4938 Setup default board_be_handler for TX4927/TX4938. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 496a3b5c2c188e8af07261792b3d4e6cf1c1dab9 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:15 2008 +0900 MIPS: TXx9: Default machine_restart using watchdog reset Add default machine_restart routine using watchdog reset of TX4927 and TX4938. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d75a40e90e9eb08c2159e719a90a7922dab231d3 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:14 2008 +0900 MIPS: TXx9: Make spi_eeprom.c more generic Helper routines in txx9/rbtx4938/spi_eeprom.c is not TX4938 specific. Move it to txx9/generic/ directory and make it works with SPI bus number other than 0. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle create mode 100644 arch/mips/txx9/generic/spi_eeprom.c delete mode 100644 arch/mips/txx9/rbtx4938/spi_eeprom.c commit e6332374770ae5aa370af5792115261edbad05c1 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:13 2008 +0900 MIPS: RBTX4938: Add TOSHIBA_RBTX4938_MPLEX_KEEP Add TOSHIBA_RBTX4938_MPLEX_KEEP to keep MPLEX settings by firmware. Also replace some printk with pr_info. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 74894363499942a76f2c20e41e8bfebc9fdc267a Author: Atsushi Nemoto Date: Tue Aug 19 22:55:12 2008 +0900 MIPS: TXx9: Raise priority of interrupts for errors, timers, SIO Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 51f607c76e1e7bd089dcad97b6b0a58649be06a3 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:11 2008 +0900 MIPS: TXx9: Add mtd support Add helper routines to register physmap-flash platform devices for NOR flashes. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit c7b95bcb38ea492fd025008ef99501a2b90aa237 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:10 2008 +0900 MIPS: TXx9: Runtime configuration of timeout-error Add kernel options to control bus timeout error. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d10e025f0e4ba4b96d7b5786d232ac5b0b232b11 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:09 2008 +0900 MIPS: TXx9: Cache fixup TX39/TX49 can enable/disable I/D cache at runtime. Add kernel options to control them. This is useful to debug some cache-related issues, such as aliasing or I/D coherency. Also enable CWF bit for TX49 SoCs. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 860e546c19d88c21819c7f0861c505debd2d6eed Author: Atsushi Nemoto Date: Tue Aug 19 22:55:08 2008 +0900 MIPS: TXx9: Early command-line preprocessing * Select board by command-line option or firmware environment variable. * Handle "masterclk=" option. * Add boards.h to centerize board_vec declaration. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle create mode 100644 include/asm-mips/txx9/boards.h commit 265b89db1058124ddbf0091ba3f8c020e3a5ae9d Author: Atsushi Nemoto Date: Tue Aug 19 22:55:07 2008 +0900 MIPS: TXx9: Add prom_getenv Add prom_getenv() which can be used for YAMON. This assumes other firmware should pass NULL for fw_arg2. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit e0dfb20c2b77c6626a24578240266ace928cd2e7 Author: Atsushi Nemoto Date: Tue Aug 19 22:55:06 2008 +0900 MIPS: TXx9: Improve handling of built-in and command-line args * Make prom_init_cmdline() static and be called from prom_init. * Append built-in args if the first character was '+'. * Drop command-line args if the first character of built-in was '-'. * Enclose args include spaces by quotes. * TX4938_NAND_BOOT is no longer needed. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit f96a3383cfede841cdf80a5927f14478981ed78c Author: Atsushi Nemoto Date: Tue Aug 19 22:55:05 2008 +0900 MIPS: RBTX4927: More explicit initialization * Make sure all interrupts cleared on startup * Initialize some GPIOs Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 9fa32c6b0275ab1e8b19f74fbfa3ed8411345db6 Author: Patrick Glass Date: Mon Aug 18 14:41:30 2008 -0700 MIPS: PMC MSP71XX gpio drivers This new gpio driver for PMC-Sierra's MSP71xx SoC allows standard api calls for access to the general and extended gpio's. Signed-off-by: Patrick Glass Signed-off-by: Ralf Baechle create mode 100755 arch/mips/pmc-sierra/msp71xx/gpio.c create mode 100755 arch/mips/pmc-sierra/msp71xx/gpio_extended.c create mode 100755 include/asm-mips/pmc-sierra/msp71xx/gpio.h commit 5d9a76cd0ed367d01b0b237253adb7607e86a277 Author: Thomas Bogendoerfer Date: Sun Aug 17 16:49:25 2008 +0200 MIPS: Use compat_sys_ptrace This replaces mips's sys_ptrace32 with a compat_arch_ptrace and enables the new generic definition of compat_sys_ptrace instead. Signed-off-by: Thomas Bogendoerfer Signed-off-by: Ralf Baechle commit 69fc7eed5f56bce15b239e5110de2575a6970df4 Author: Dmitry Baryshkov Date: Thu Oct 9 16:58:13 2008 +0100 [ARM] 5300/1: fixup spitz reset during boot Some machines don't have the pullup/down on their reset pin, so configuring the reset generating pin as input makes them reset immediately. Fix that by making reset pin direction configurable. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 03010a3350301baac2154fa66de925ae2981b7e3 Author: Theodore Ts'o Date: Fri Oct 10 20:02:48 2008 -0400 ext4: Rename ext4dev to ext4 The ext4 filesystem is getting stable enough that it's time to drop the "dev" prefix. Also remove the requirement for the TEST_FILESYS flag. Signed-off-by: "Theodore Ts'o" commit 6861ff35ec5b60fafaf8651754c9a75142bfa9a4 Merge: 2ef3783... 1765f95... Author: David S. Miller Date: Fri Oct 10 14:43:54 2008 -0700 Merge branch 'r8169' of git://git.kernel.org/pub/scm/linux/kernel/git/romieu/netdev-2.6 commit 2ef3783608668a32e497a16cb8696cee9b0aa47c Author: Brice Goglin Date: Fri Oct 10 14:33:37 2008 -0700 myri10ge: update driver version number to 1.4.3-1.369 Update myri10ge driver version number to 1.4.3-1.369. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 1765f95d2db0a516b5816e016fdf459c4bb5affb Author: Francois Romieu Date: Sat Sep 13 17:21:40 2008 +0200 r8169: add shutdown handler Signed-off-by: Francois Romieu Cc: Edward Hsu commit 5b538df9dedb3469b688b93ffab2a7efb64c88e3 Author: Francois Romieu Date: Sun Jul 20 16:22:45 2008 +0200 r8169: preliminary 8168d support Taken from Realtek's 8.007.00 r8168 driver. Signed-off-by: Francois Romieu Fixed-by: Ivan Vecera Cc: Edward Hsu commit 7f3e3d3a69da262016db6eec803881603c61ddf6 Author: Francois Romieu Date: Sun Jul 20 18:53:20 2008 +0200 r8169: support additional 8168cp chipset Taken from Realtek's 8.007.00 r8168 driver. Signed-off-by: Francois Romieu Fixed-by: Ivan Vecera Cc: Edward Hsu commit ef808d502cc3b18b2d823bbe8c03c0b8ea0df1b5 Author: Francois Romieu Date: Sun Jun 29 13:10:54 2008 +0200 r8169: change default behavior for mildly identified 8168c chipsets The addition of a new device has so far implied a specialization of these masks. While they identify 8168c devices, they can be expected to be further refined as they have been by Realtek so far. The change should bring the driver closer to the version 8.006.00 of Realtek's 8168 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu commit ef3386f00fcd18a40343047329ec7ed2eb98bbe8 Author: Francois Romieu Date: Sun Jun 29 12:24:30 2008 +0200 r8169: add a new 8168cp flavor Taken from Realtek's 8.006.00 r8168 driver. I have left some bits related to jumbo frame aside for now. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 6fb07058d2b6c748c308e4ee453035433d34ca93 Author: Francois Romieu Date: Sun Jun 29 11:54:28 2008 +0200 r8169: add a new 8168c flavor (bis) Taken from Realtek's 8.006.00 r8168 driver. I have left some bits related to jumbo frame aside for now. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 197ff761dbf9fa5de9a4684a51ee5cb534cbb852 Author: Francois Romieu Date: Sat Jun 28 13:16:02 2008 +0200 r8169: add a new 8168c flavor Taken from Realtek's 8.006.00 r8168 driver. Signed-off-by: Francois Romieu Cc: Edward Hsu commit b726e493e8dc13537d1d7f8cd66bcd28516606c3 Author: Francois Romieu Date: Sat Jun 28 12:22:59 2008 +0200 r8169: sync existing 8168 device hardware start sequences with vendor driver This part of the driver should be reasonably in line with Realtek's 8.006.00 driver. I have left some bits related to jumbo frame and optional features aside for now. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 2e68ae44309bfadccdb5ddd68b9c38d2a1efeb94 Author: Francois Romieu Date: Sat Jun 28 12:00:55 2008 +0200 r8169: 8168b Tx performance tweak Signed-off-by: Francois Romieu Cc: Edward Hsu commit 219a1e9d46dcc21f279c428941ded2328f1a5ee5 Author: Francois Romieu Date: Sat Jun 28 11:58:39 2008 +0200 r8169: make room for more specific 8168 hardware start procedure Broadly speaking the 8168c* share some common code which will be factored in __rtl_hw_start_8168cp. The 8168b* share some code too but it will be a bit different. Any change of behavior should be confined to the currently unidentified 8168 chipsets. They will not be applied the Tx performance tweak and will emit a warning instead. Signed-off-by: Francois Romieu Cc: Edward Hsu commit b8363901596f64ef74db906df0c4a95daea47464 Author: Francois Romieu Date: Sun Jun 1 12:31:57 2008 +0200 r8169: shuffle some registers handling around (8168 operation only) I can not argue strongly for (or against) a specific ordering on a purely technical ground but the patch avoids to swallow Realtek's changes in one big, hard-to-read gulp. Let aside the way the RxConfig register is written (see rtl_set_rx_tx_config_registers / RxConfig / rtl_set_rx_mode), this change brings the registers write ordering closer with Realtek's driver one (version 8.006.00) for the 8168 chipsets. More 8168 specific code which touches the Configx registers will be added in the section covered by Cfg9346_UnLock / Cfg9346_Lock. This code should not be the cause of regression for 810x and 8110 users. Signed-off-by: Francois Romieu Cc: Edward Hsu commit 236b8082aa239e91c3cd9cb466d0527a735e54db Author: Francois Romieu Date: Fri May 30 16:11:48 2008 +0200 r8169: new phy init parameters for the 8168b The new parameters are synced with Realtek's driver version 8.006.00. Signed-off-by: Francois Romieu Cc: Edward Hsu commit f50d4275422415cfb2a5b94bad3b2b229d0ec1aa Author: Francois Romieu Date: Fri May 30 16:07:07 2008 +0200 r8169: update phy init parameters The modified parameters are synced with Realtek's driver version 8.006.00. The change should only be noticeable with some 8168c. Signed-off-by: Francois Romieu Cc: Edward Hsu commit a2de6b89b74b28052e293fdb39975a5a03c432e0 Author: Francois Romieu Date: Thu Sep 4 00:17:12 2008 +0200 r8169: wake up the PHY of the 8168 This is typically needed when some other OS puts the PHY to sleep due to the disabling of WOL options in the BIOS of the system. Signed-off-by: Francois Romieu Tested-by: Chiaki Ishikawa Cc: Edward Hsu Cc: RyanKao commit 1839faab9a2747bcd30ee14e50575a39bf6735d4 Author: Tobias Brunner Date: Fri Oct 10 14:07:03 2008 -0700 af_key: fix SADB_X_SPDDELETE response When deleting an SPD entry using SADB_X_SPDDELETE, c.data.byid is not initialized to zero in pfkey_spddelete(). Thus, key_notify_policy() responds with a PF_KEY message of type SADB_X_SPDDELETE2 instead of SADB_X_SPDDELETE. Signed-off-by: Tobias Brunner Signed-off-by: David S. Miller commit 92f1f8fd8040e7b50a67a850a935509bb01201bb Author: Elias Oltmanns Date: Fri Oct 10 22:39:40 2008 +0200 ide: Remove ide_spin_wait_hwgroup() and use special requests instead Use a special request for serialisation purposes and get rid of the awkward ide_spin_wait_hwgroup(). This also involves converting the ide_devset structure so it can be shared by the /proc and the ioctl code. Signed-off-by: Elias Oltmanns [bart: use rq->cmd[] directly] Signed-off-by: Bartlomiej Zolnierkiewicz commit d6e2955a6b82d2312b5ff885ce13c8ab54d59d96 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:39 2008 +0200 ide: move IDE{FLOPPY,TAPE}_WAIT_CMD defines to While at it: * IDE{FLOPPY,TAPE}_WAIT_CMD -> WAIT_{FLOPPY,TAPE}_CMD * Use enum for WAIT_* defines. There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit de699ad595fb45022d1b049ed91ffd06fdd16c13 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:39 2008 +0200 ide: add ide_do_test_unit_ready() helper * Add ide_do_test_unit_ready() helper and convert ide-{floppy,tape}.c to use it. * Remove no longer used idetape_create_test_unit_ready_cmd(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0c8a6c7aead1d3be85ce53e3aaacd52e38ede03e Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:39 2008 +0200 ide: add ide_do_start_stop() helper * Add ide_do_start_stop() helper and convert ide-{floppy,tape}.c to use it. * Remove no longer used idefloppy_create_start_stop_cmd() and idetape_create_load_unload_cmd(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0578042db3191e1ac76b53d213f2a691c3e1eaed Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:38 2008 +0200 ide: add ide_set_media_lock() helper * Set IDE_AFLAG_NO_DOORLOCK in idetape_get_mode_sense_result(), check it in ide_tape_set_media_lock() and cleanup idetape_create_prevent_cmd(). * Set IDE_AFLAG_NO_DOORLOCK in ide_floppy_create_read_capacity_cmd() and check it instead of IDE_AFLAG_CLIK_DRIVE in ide_floppy_set_media_lock(). * Add ide_set_media_lock() helper and convert ide-{floppy,tape}.c to use it. * Remove no longer used ide*_create_prevent_cmd()/ide*_set_media_lock(). * Update comment in accordingly. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 0127854d7c96612a454bed6de242e28f8021fa7f Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:38 2008 +0200 ide-floppy: move floppy ioctls handling to ide-floppy_ioctl.c While at it: - idefloppy_create_read_capacity_cmd() -> ide_floppy_create_read_capacity_cmd() - idefloppy_create_mode_sense_cmd() -> ide_floppy_create_mode_sense_cmd() - idefloppy_create_request_sense_cmd() -> ide_floppy_create_request_sense_cmd() - idefloppy_create_format_unit_cmd() -> ide_floppy_create_format_unit_cmd() - idefloppy_get_sfrp_bit() -> ide_floppy_get_sfrp_bit() Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 49cac39e71bd6bbcf934c6ba837e21503902c088 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:38 2008 +0200 ide-floppy: ->{srfp,wp} -> IDE_AFLAG_{SRFP,WP} Add IDE_AFLAG_{SRFP,WP} drive->atapi_flags and use them instead of ->{srfp,wp} struct ide_floppy_obj fields. There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2ac07d920604eeee8966d52e70161f9b31fe90a3 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:38 2008 +0200 ide: add ide_queue_pc_tail() helper * Add ide_queue_pc_tail() and convert ide-{floppy,tape}.c to use it instead of ide*_queue_pc_tail(). * Remove no longer used ide*_queue_pc_tail(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7645c1514c7d34ebdf3ea0e8ee3a935c08abceb2 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:37 2008 +0200 ide: add ide_queue_pc_head() helper * Move REQ_IDETAPE_* enums to . * Add ide_queue_pc_head() and convert ide-{floppy,tape}.c to use it instead of ide*_queue_pc_head(). * Remove no longer used ide*_queue_pc_head(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 7bf7420a318978cd6042e5a5da34b7cfa18ae559 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:37 2008 +0200 ide: add ide_init_pc() helper * Add IDE_PC_BUFFER_SIZE define. * Add ide_init_pc() and convert ide-{floppy,tape}.c to use it instead of ide*_init_pc(). * Remove no longer used IDE*_PC_BUFFER_SIZE and ide*_init_pc(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 385a4b8787c70b708688bee65139f15b0f79f144 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:37 2008 +0200 ide-tape: add ide_tape_set_media_lock() helper Add ide_tape_set_media_lock() helper and convert idetape_mtioctop(), idetape_chrdev_open() and idetape_chrdev_release() to use it. There should be no functional changes caused by this patch (it is OK to modify ->door_locked if idetape_create_prevent_cmd() fails). Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit e996fc8ae96a822f037e25463cb8dac5b93839f7 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:37 2008 +0200 ide-floppy: add ide_floppy_set_media_lock() helper Add ide_floppy_set_media_lock() helper and convert idefloppy_open(), idefloppy_release() and ide_floppy_lockdoor() to use it. There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit acaa0f5f675ccf6b8a3a11a933419068b1ea1f46 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:36 2008 +0200 ide: add ide_io_buffers() helper * Make ->io_buffers method return number of bytes transferred. * Use ide_end_request() instead of idefloppy_end_request() in ide_floppy_io_buffers() and then move the call out to ide_pc_intr(). * Add ide_io_buffers() helper and convert ide-{floppy,scsi}.c to use it instead of ide*_io_buffers(). There should be no functional changes caused by this patch. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit c860f955681ebd83df4a03089f1910fc4b54651f Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:36 2008 +0200 ide-scsi: cleanup ide_scsi_io_buffers() Preparation for ide_{floppy,scsi}_io_buffers() unification. Acked-by: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 4de4b9e1405aef41d199dd20dbce7e9a5dbbf7bf Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:36 2008 +0200 ide-floppy: remove MODE_SENSE_* defines Only MODE_SENSE_CURRENT (0x00) is ever used so just remove these defines and then drop no longer needed 'type' argument from idefloppy_create_mode_sense_cmd(). Cc: Borislav Petkov Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2e8a6f89de69d149bde135c2dc89daa9127984a9 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:36 2008 +0200 ide-{floppy,tape}: remove packet command stack * Add 'struct ide_atapi_pc queued_pc' to struct ide_{floppy,tape}_obj and switch ide*_do_request() to use it (there can be only one active request for a given device). * Add 'struct ide_atapi_pc request_sense_pc' to struct ide_*_obj and switch ide*_retry_pc() to use it. * Remove needless {floppy,tape}->pc assignment from ide*_setup(). * Remove no longer needed ide*_next_pc_storage(), pc_stack[], rq_stack_index, IDE*_PC_STACK and DBG_PC_STACK. There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 394a4c2101f43bfb5fea7b5d1f5789a14ac018d7 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:35 2008 +0200 ide-{floppy,tape}: remove request stack * Add 'struct request request_sense_rq' to struct ide_{floppy,tape}_obj and switch ide*_retry_pc() to use it (there can be only one REQUEST SENSE request active for a given device). * Remove no longer needed ide*_next_rq_storage(), rq_stack[] and rq_stack_index. * DBG_PCRQ_STACK -> DBG_PC_STACK * Update comments for IDE*_PC_STACK and idetape_queue_pc_{head,tail}(). There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 20df429dd6671804999493baf2952f82582869fa Author: Borislav Petkov Date: Fri Oct 10 22:39:35 2008 +0200 ide-generic: handle probing of legacy io-ports v5 Avoid probing the io-ports in case an IDE PCI controller is present and it uses the legacy iobases. If we still want to enforce the probing, we do ide_generic.probe_mask=0x3f on the kernel command line. The iobase checking code is adapted from drivers/ata/pata_legacy.c after converting hex pci ids into their corresponding macros in . Also, check only BAR0/2 resources since those are guaranteed by the workaround in drivers/pci/probe.c:pci_setup_device(). Signed-off-by: Borislav Petkov Acked-by: Sergei Shtylyov Cc: Alan Cox [bart: trivial printk() fixups] Signed-off-by: Bartlomiej Zolnierkiewicz commit b98b3409abb697321d1b53e3e96a14243fe9fc79 Author: Borislav Petkov Date: Fri Oct 10 22:39:35 2008 +0200 ide-floppy: use scatterlists for pio transfers Use hwif->sg_table for pio transfers instead of fumbling with block layer internals in the driver. Also, make debug statements more informative in .._do_request() while at it. Signed-off-by: Borislav Petkov [bart: fixup pc->b_count in idefloppy_blockpc_cmd()] [bart: add missing include (noticed by Stephen Rothwell)] [bart: map hwif->sg_{table,nents} on pc->{sg,sg_cnt} (multi-IRQs-per-sg fix)] Signed-off-by: Bartlomiej Zolnierkiewicz commit f025ffdcc3450ae66c9d5df368d97f07e7fcf489 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:34 2008 +0200 ide-tape: remove idetape_init_rq() idetape_init_rq() is only used in idetape_queue_pc_head() so inline it there. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit d56c99e26b0ff45009bdf85556abee60591507cb Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:34 2008 +0200 ide-floppy: add ide_floppy_format_ioctl() helper * Factor out IDEFLOPPY_IOCTL_FORMAT_* ioctls handling from idefloppy_ioctl() to ide_floppy_format_ioctl(). While at it: * Pass 'drive' instead of 'floppy' to ide_floppy_format_unit(). * idefloppy_get_format_progress() -> ide_floppy_get_format_progress() There should be no functional changes caused by this patch. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit e3faa2481e832568d13dfa3a52d17525b322cb8f Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:34 2008 +0200 ide-floppy: remove needless parens Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 51509eec34debffec3c6f481f7371c9aeb6c63c1 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:34 2008 +0200 ide: add ide_check_atapi_device() helper * Add ide_check_atapi_device() to ide-atapi.c and convert ide-{floppy,tape}.c to use it instead of ide*_identify_device(). While at it: * Add DRV_NAME defines to ide-{floppy,tape}.c. Cc: Borislav Petkov Signed-off-by: Bartlomiej Zolnierkiewicz commit 05236ea6df7419f0f37cf9603cfee265cfce5832 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:33 2008 +0200 ide: move ioctls handling to ide-ioctls.c * Move ioctls handling to ide-ioctls.c (except HDIO_DRIVE_TASKFILE for now). * Make ide_{cmd,task}() static. Signed-off-by: Bartlomiej Zolnierkiewicz commit 170dc5b085e688639aa2b7acd1b907e2e1c7a48a Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:33 2008 +0200 ide: cleanup generic_ide_ioctl() * Fix intendation for the main 'switch ()'. * 'switch ()' -> 'if ()' for HDIO_DRIVE_TASKFILE case. * Move HDIO_SET_NICE case under HDIO_GET_NICE one. Signed-off-by: Bartlomiej Zolnierkiewicz commit aa7687738af3332470e02ac1060f6c046d83c9a3 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:33 2008 +0200 ide: add ide_setting_ioctl() helper * Add struct ide_ioctl_devset representing ioctl device setting. * Add ide_setting_ioctl() helper for matching given ioctl and its parameters against table of ioctl device settings. * Convert ide_setting_ioctl() and idedisk_ioctl() to use ide_setting_ioctl(). * Un-export ide_setting_mtx. While at it: * {get,set}_lba_addressing() -> {get,set}_addressing() There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9232c14bff36d65de254f34386c00b732c5b6099 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:33 2008 +0200 ide: remove ->bus_state field from ide_hwif_t It is always set to BUSSTATE_ON. Signed-off-by: Bartlomiej Zolnierkiewicz commit feb22b7f8e62b1b987a3a1dbad95af767a1df832 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:32 2008 +0200 ide: add proper PCI PM support (v2) * Keep pointer to ->init_chipset method also in struct ide_host and set it in ide_host_alloc_all(). * Add ide_pci_suspend() and ide_pci_resume() helpers (default ->suspend and ->resume implementations). * ->init_chipset can no longer be marked __devinit. * Add proper PCI PM support to IDE PCI host drivers (rz1000.c and tc86c001.c are skipped for now since they need to be converted from using ->init_hwif to use ->init_chipset instead). v2: * Cleanup CONFIG_PM #ifdef-s per akpm's suggestion. Cc: Andrew Morton Cc: "Rafael J. Wysocki" Signed-off-by: Bartlomiej Zolnierkiewicz commit 1785192b5310ee25165768f5bb80f13146788e3e Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:32 2008 +0200 hpt366: add hpt3xx_disable_fast_irq() helper * Factor out disabling of "fast interrupt" prediction from init_hwif_hpt366() to hpt3xx_disable_fast_irq() helper. * Use hpt3xx_disable_fast_irq() in ->init_chipset instead of ->init_hwif method. This is a preparation for adding proper PCI PM support. While at it: * Cache chip type in chip_type variable in hpt3xx_disable_fast_irq(). There should be no functional changes caused by this patch. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit a02227c9774b3bff08c7f557d06247e0a03ac435 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:31 2008 +0200 ide: lba_capacity_is_ok() -> ata_id_is_lba_capacity_ok() Rename lba_capacity_is_ok() to ata_id_is_lba_capacity_ok() and move it to (remove needless parens while at it). Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 93734a234447a3c091f76d76f7351af9d4dde518 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:31 2008 +0200 ide: ide_id_to_hd_driveid() -> ata_id_to_hd_driveid() Rename ide_id_to_hd_driveid() to ata_id_to_hd_driveid() and move it to . Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 718c72e83da295efc9c8625b6f380ef10352d955 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:31 2008 +0200 ide: use ata_id_is_cfa() Use ata_id_is_cfa() in do_identify() instead of open-coding check for CompactFlash devices (the inline helper also takes care of detecting CFs advertising themselves as ATA disks). Signed-off-by: Bartlomiej Zolnierkiewicz commit ff2779b568e70822e0ef2cc7afeeefbe7c607652 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:31 2008 +0200 ide: ide_id_has_flush_cache_ext() -> ata_id_flush_ext_enabled() * Add ata_id_flush_ext_enabled() inline helper to . * ide_id_has_flush_cache_ext() -> ata_id_flush_ext_enabled() The latter one also checks if the command is marked as supported in word 83 and validity of words 83 & 86. Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 4b58f17d7c45a8e5f4acda641bec388398b9c0fa Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:30 2008 +0200 ide: ide_id_has_flush_cache() -> ata_id_flush_enabled() * Add ata_id_flush_enabled() inline helper to . * ide_id_has_flush_cache() -> ata_id_flush_enabled() The latter one also checks if the command is marked as supported in word 83 and validity of words 83 & 86. Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 1a4e4d4d2cceb72be70526a485914abd638c7de1 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:30 2008 +0200 ide: check only for CACHE FLUSH command support in ide_id_has_flush_cache() All devices supporting CACHE FLUSH EXT command should also support CACHE FLUSH command so it is sufficient to check only for CACHE FLUSH in ide_id_has_flush_cache(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 942dcd85bf8edf38cdc3745306ca250684d99a61 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:30 2008 +0200 ide: idedisk_supports_lba48() -> ata_id_lba48_enabled() * Add ata_id_lba48_enabled() inline helper to . * idedisk_supports_lba48() -> ata_id_lba48_enabled() The latter one also checks validity of words 83 & 86. Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit 367d7e78dd48cf6ad35182a99d97abb5486e040e Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:30 2008 +0200 ide: ide_dev_is_sata() -> ata_id_is_sata() * Use optimized ATA version check from Sergei in ata_id_is_sata(). * ide_dev_is_sata() -> ata_id_is_sata() Cc: Jeff Garzik Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 5d5870f0a26e2304c4a82592870c5bc88017f7c9 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:29 2008 +0200 ide: ide_dev_has_iordy() -> ata_id_has_iordy() * Remove (id[ATA_ID_FIELD_VALID] & 2) check from ide_dev_has_iordy() (it is for validity of words 64-70, IORDY is in word 49). * ide_dev_has_iordy() -> ata_id_has_iordy() Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9fa295e12d490fd571c614b221defaa9212c20dc Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:29 2008 +0200 ide: factor out HDIO_*_NICE ioctl handling to ide_*_nice_ioctl() Factor out HDIO_{GET,SET}_NICE ioctl handling from generic_ide_ioctl() to ide_{get,set}_nice_ioctl(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 02d599a365d04658bc9ea71762ed17c895079927 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:29 2008 +0200 ide: remove ->supports_dsc_overlap field from ide_driver_t * Use drive->media and drive->scsi to check if ->dsc_overlap can be set by HDIO_SET_NICE ioctl in generic_ide_ioctl(). * Remove unused ->supports_dsc_overlap field from ide_driver_t. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit ebc6be520673f65aef188abde43972f9cd2162e9 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:29 2008 +0200 ide: remove read-only ->atapi_overlap field from ide_drive_t Signed-off-by: Bartlomiej Zolnierkiewicz commit af5dfe8cf07b6f4fbd6b7d8ff1aeda718fdd0166 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:28 2008 +0200 cmd640: add __set_prefetch_mode() Factor out the common code from check_prefetch() and set_prefetch_mode() to __set_prefetch_mode(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 151a670186a0f8441798f90c8701647adb7a1589 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:28 2008 +0200 ide: remove SECTOR_WORDS define Just use SECTOR_SIZE instead. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8185d5aa93e0a5c111adc4952a5b87193a68ae5b Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:28 2008 +0200 ide: /proc/ide/hd*/settings rework * Add struct ide_devset, S_* flags, *DEVSET() & ide*_devset_*() macros. * Add 'const struct ide_devset **settings' to ide_driver_t. * Use 'const struct ide_devset **settings' in ide_drive_t instead of 'struct ide_settings_s *settings'. Then convert core code and device drivers to use struct ide_devset and co.: - device settings are no longer allocated dynamically for each device but instead there is an unique struct ide_devset instance per setting - device driver keeps the pointer to the table of pointers to its settings in ide_driver_t.settings - generic settings are kept in ide_generic_setting[] - ide_proc_[un]register_driver(), ide_find_setting_by_name(), ide_{read,write}_setting() and proc_ide_{read,write}_settings() are updated accordingly - ide*_add_settings() are removed * Remove no longer used __ide_add_setting(), ide_add_setting(), __ide_remove_setting() and auto_remove_settings(). * Remove no longer used TYPE_*, SETTING_*, ide_procset_t and ide_settings_t. * ->keep_settings, ->using_dma, ->unmask, ->noflush, ->dsc_overlap, ->nice1, ->addressing, ->wcache and ->nowerr ide_drive_t fields can now be bitfield flags. While at it: * Rename ide_find_setting_by_name() to ide_find_setting(). * Rename write_wcache() to set_wcache(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 263138a0ad6e38de7f6526b7de037ed4511308ef Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:27 2008 +0200 ide: preparations for /proc/ide/hd*/settings rework After rework settings will be no longer created dynamically for each device so we need to make some fixups first. * Use set_[ksettings,unmaskirq]() as a set function for ["keepsettings","unmaskirq"] setting. * Allow writes to ["io_32bit","unmaskirq"] settings also when drive->no_[io_32bit,unmask] is set (this is checked later inside set_[io_32bit,unmaskirq]() anywyay and keeps consistency with the corresponding HDIO_SET_[32BIT,UNMASKINTR] ioctls). * Use max possible multi sectors value (16) as an allowed max for "multcount" setting. set_multcount() set function checks against device's max possbile value anyway and it makes the proc setting consistent with the corresponding HDIO_SET_MULTCOUNT ioctl. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1e874f448365b80e69b8a60b8b575b17f00811f3 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:27 2008 +0200 ide: call ide_proc_register_driver() later Call ide_proc_register_driver() in ide*_setup() (just before ide*_add_settings() call) instead of in ->probe method. Despite being basically a preparation for /proc/ide/hd*/settings rework this is a nice cleanup in itself. Signed-off-by: Bartlomiej Zolnierkiewicz commit 3ceca727fe3a38dd8d7a3adf938fefda83eee8af Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:27 2008 +0200 ide: include only when needed * Include directly in instead of through . * Include only when needed. Cc: Christoph Hellwig Signed-off-by: Bartlomiej Zolnierkiewicz commit 7c51c17e0431d2f26bc23ee07de12eafb125ce83 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:26 2008 +0200 ide: remove CONFIG_IDEDISK_MULTI_MODE Use multi PIO by default when available and remove no longer needed CONFIG_IDEDISK_MULTI_MODE (it should be safe nowadays, despite to what help entry has been saying). Signed-off-by: Bartlomiej Zolnierkiewicz commit 7e59ea21aab1a91ca31bc64c7d3035ebdbd336d1 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:26 2008 +0200 ide: check drive->present in ide_get_paired_drive() * Change ide_get_paired_drive() to return NULL if peer device is not present and update all users accordingly. While at it: * ide_get_paired_drive() -> ide_get_pair_dev() * Use ide_get_pair_dev() in cs5530.c, sc1200.c and via82cxxx.c. There should be no functional changes caused by this patch. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 2a924662b646fa25cb491d50aa1202a94aa4ac55 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:24 2008 +0200 ide: remove needless drive->present checks from device drivers Remove needless drive->present checks from ->probe methods (device model takes care of that). Signed-off-by: Bartlomiej Zolnierkiewicz commit 3cd5f1eae093a7d6ff8a63c746eba9d6f689ba91 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:24 2008 +0200 ide: remove unused _IDE_C and _IDE_DISK defines Signed-off-by: Bartlomiej Zolnierkiewicz commit a2cdee5a9a93360165d0576bbc7e9ccb3127afee Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:24 2008 +0200 ide: remove IDE_CHIPSET_* macros They just obfuscate the code. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7c199a5496d0579d388636ee34a954e2e566d2fb Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:23 2008 +0200 ide: remove no longer needed BUG_ON()-s from init_irq() init_irq() is now called only during initial host registration so these BUG_ON()-s are no loner needed (+ the last one was done too late anyway). Signed-off-by: Bartlomiej Zolnierkiewicz commit b163f46d5ecf48d883ce156e5e5a21a1a9a125c7 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:23 2008 +0200 ide: enhance ide_busy_sleep() * Make ide_busy_sleep() take timeout value as a parameter and also allow use of AltStatus Register if requested with altstatus parameter. Update existing users accordingly. * Convert ide_driveid_update() and actual_try_to_identify() to use ide_busy_sleep(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit c36a7e98846a7a4a1c09b7f148395089bce512d8 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:23 2008 +0200 ide: fix EXABYTENEST handling in probe_for_drive() Fix EXABYTENEST handling in probe_for_drive() (so drive->present is checked for "nested" device) and cleanup enable_nest(). Signed-off-by: Bartlomiej Zolnierkiewicz commit efa402d59e99b7940501ead18a11b3d6604ad720 Author: FUJITA Tomonori Date: Fri Oct 10 22:39:22 2008 +0200 ide-cd: use the new object_is_in_stack() helper Signed-off-by: FUJITA Tomonori Cc: Borislav Petkov Cc: Thomas Bogendoerfer Cc: Tejun Heo Cc: Jens Axboe Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 1a7809e3499921a016d203b9ee51a77d3cc1dc98 Author: Linus Torvalds Date: Fri Oct 10 22:39:22 2008 +0200 ide: re-code ide_fixstring() loop to be less evil On Friday 25 July 2008, Linus Torvalds wrote: > > On Fri, 25 Jul 2008, Ben Dooks wrote: > > > > personally, i would much prefer to see the loop being less evil > > like: > > > > for (p = s; p < end; p += 2) > > be16_to_cpus((u16 *)p); > > Well, in this case, the code actually depends on 'p' being back at the > start of the buffer by the end of it all, so it would need some more > changes than that. > > But yes, I applied David's patch, but I _also_ suspect that we would be > better off without code that does horrid things like casts and assignments > inside the function arguments. > > So it would be nice to re-code that loop to be more readable. But due to > the reliance of 'p' being 's' after the loop, the minimal patch would be > something like the appended. > > Bartlomiej - take this or not, I'm not going to commit it - I haven't > tested it, nor do I even have any machines that would trigger it. So this > is more a "maybe something like this" than anything else. From: Linus Torvalds CC: Ben Dooks Cc: David Miller Cc: harvey.harrison@gmail.com Signed-off-by: Bartlomiej Zolnierkiewicz commit 3c619ffd48d7fdb3b17f0df67c4eb4b0bd80e253 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:22 2008 +0200 ide: remove no longer needed ide_drive_t fields Remove ->remap_0_to_1 and ->sect0 (they are always zero now). Signed-off-by: Bartlomiej Zolnierkiewicz commit 3a7d24841ad794ae64c90d7d00d62a83741912aa Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:21 2008 +0200 ide: use ATA_* defines instead of *_STAT and *_ERR ones * ERR_STAT -> ATA_ERR * INDEX_STAT -> ATA_IDX * ECC_STAT -> ATA_CORR * DRQ_STAT -> ATA_DRQ * SEEK_STAT -> ATA_DSC * WRERR_STAT -> ATA_DF * READY_STAT -> ATA_DRDY * BUSY_STAT -> ATA_BUSY * MARK_ERR -> ATA_AMNF * TRK0_ERR -> ATA_TRK0NF * ABRT_ERR -> ATA_ABORTED * MCR_ERR -> ATA_MCR * ID_ERR -> ATA_IDNF * MC_ERR -> ATA_MC * ECC_ERR -> ATA_UNC * ICRC_ERR -> ATA_ICRC * BBD_ERR -> ATA_BBK Also: * ILI_ERR -> ATAPI_ILI * EOM_ERR -> ATAPI_EOM * LFS_ERR -> ATAPI_LFS * CD -> ATAPI_COD * IO -> ATAPI_IO Signed-off-by: Bartlomiej Zolnierkiewicz commit f26b3d75959e9a0e43a2e1e1148c075592746c3d Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:21 2008 +0200 hd: WIN_* -> ATA_CMD_* * Use ATA_CMD_* defines instead of WIN_* ones. * Include directly instead of through . Signed-off-by: Bartlomiej Zolnierkiewicz commit aaaade3f059fa1b57283d4a7c8351a42ec747bf0 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:21 2008 +0200 ide: WIN_* -> ATA_CMD_* * Use ATA_CMD_* defines instead of WIN_* ones. While at it: * EXABYTE_ENABLE_NEXT -> ATA_EXABYTE_ENABLE_NEST * SETFEATURES_{EN,DIS}_WCACHE -> SETFEATURES_WC_{ON,OFF} * SETFEATURES_{EN,DIS}_AAM -> SETFEATURES_AAM_{ON,OFF} * SMART_* -> ATA_SMART_* * Remove stale comment from ide-proc.c. Partially based on earlier work by Chris Wedgwood. Acked-by: Chris Wedgwood Signed-off-by: Bartlomiej Zolnierkiewicz commit a4f19040a3a6cd431efe0a10b9d2e8d5e3904865 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:20 2008 +0200 libata: WIN_* -> ATA_CMD_* Acked-by: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit f41891c134ccdd07583ebd8d4af7fed883375672 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:20 2008 +0200 ide-disk: use ata_id_hpa_enabled() idedisk_supports_hpa() -> ata_id_hpa_enabled(). The latter one also checks validity of words 82 & 85. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8a089c6679a9f1c0a00b7e08554e90b507ec527a Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:20 2008 +0200 ide-disk: use ata_id_wcache_enabled() Replace open-coded check by ata_id_wcache_enabled() (which also checks validity of word 85). Signed-off-by: Bartlomiej Zolnierkiewicz commit dd8f46f64ae66659df3358fad73ed7699aa729dd Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:19 2008 +0200 ide: use ata_id_current_chs_valid() Replace open-coded checks by ata_id_current_chs_valid(). There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 48fb2688aa67baba373531cc4ed2d9e695983c3f Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:19 2008 +0200 ide: remove drive->driveid * Factor out HDIO_[OBSOLETE,GET]_IDENTITY ioctls handling to ide_get_identity_ioctl(). * Use temporary buffer in ide_get_identity_ioctl() instead of accessing drive->id directly. * Add ide_id_to_hd_driveid() inline to convert raw id into struct hd_driveid format (needed on big-endian). * Use ide_id_to_hd_driveid() in ide_get_identity_ioctl(), cleanup ide_fix_driveid() and switch ide to use use raw id. * Remove no longer needed drive->driveid. This leaves us with 3 users of struct hd_driveid in tree: - arch/um/drivers/ubd_kern.c - drivers/block/xsysace.c - drivers/usb/storage/isd200.c While at it: * Use ata_id_u{32,64}() and ata_id_has_{dma,lba,iordy}() macros. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 4dde4492d850a4c9bcaa92e5bd7f4eebe3e2f5ab Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:19 2008 +0200 ide: make drive->id an union (take 2) Make drive->id an unnamed union so id can be accessed either by using 'u16 *id' or 'struct hd_driveid *driveid'. Then convert all existing drive->id users accordingly (using 'u16 *id' when possible). This is an intermediate step to make ide 'struct hd_driveid'-free. While at it: - Add missing KERN_CONTs in it821x.c. - Use ATA_ID_WORDS and ATA_ID_*_LEN defines. - Remove unnecessary checks for drive->id. - s/drive_table/table/ in ide_in_drive_list(). - Cleanup ide_config_drive_speed() a bit. - s/drive1/dev1/ & s/drive0/dev0/ in ide_undecoded_slave(). v2: Fix typo in drivers/ide/ppc/pmac.c. (From Stephen Rothwell) There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit 5b90e990928919ae411a68b865e8a6ecac09a603 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:18 2008 +0200 ide: cleanup ide_fix_driveid() Do all __le16_to_cpu() swapping in one loop. Signed-off-by: Bartlomiej Zolnierkiewicz commit df1f8378c2fd898fa08be5d72283d68c77f519e9 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:18 2008 +0200 ide: cleanup ide_disk_init_mult_count() * Remove superfluous checks for drive->mult_req. * No need to zero drive's fields. * Move the common code out of #ifdef scope. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz commit f8881000d7cc6b8b520e8fcba95177d2cde1ae36 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 10 22:39:18 2008 +0200 ide: remove superfluous check from ide_disk_special() This condition is checked by both ide_disk_init_mult_count() and set_multcount() so no need to do it again in ide_disk_special(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 730616b2026838c4535c1daf9b91b118fd7caecf Author: Mark de Wever Date: Fri Oct 10 22:39:17 2008 +0200 ide-tape: Buildfix when IDETAPE_DEBUG_LOG is set to 1. The format specifier for rq->sector didn't specify the proper size and signedness. Borislav Petkov discovered that the signedness for rq->nr_sectors and rq->current_nr_sectors also were incorrect. Signed-off-by: Mark de Wever Acked-by: Borislav Petkov [bart: remove trailing whitespace] Signed-off-by: Bartlomiej Zolnierkiewicz commit b922df7383749a1c0b7ea64c50fa839263d3816b Merge: c54dcd8... cdbb92b... Author: Linus Torvalds Date: Fri Oct 10 13:10:51 2008 -0700 Merge branch 'rcu-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'rcu-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (21 commits) rcu: RCU-based detection of stalled CPUs for Classic RCU, fix rcu: RCU-based detection of stalled CPUs for Classic RCU rcu: add rcu_read_lock_sched() / rcu_read_unlock_sched() rcu: fix sparse shadowed variable warning doc/RCU: fix pseudocode in rcuref.txt rcuclassic: fix compiler warning rcu: use irq-safe locks rcuclassic: fix compilation NG rcu: fix locking cleanup fallout rcu: remove redundant ACCESS_ONCE definition from rcupreempt.c rcu: fix classic RCU locking cleanup lockdep problem rcu: trace fix possible mem-leak rcu: just rename call_rcu_bh instead of making it a macro rcu: remove list_for_each_rcu() rcu: fixes to include/linux/rcupreempt.h rcu: classic RCU locking and memory-barrier cleanups rcu: prevent console flood when one CPU sees another AWOL via RCU rcu, debug: detect stalled grace periods, cleanups rcu, debug: detect stalled grace periods rcu classic: new algorithm for callbacks-processing(v2) ... commit c54dcd8ec9f05c8951d1e622e90904aef95379f9 Merge: b11ce8a... 9ac684f... Author: Linus Torvalds Date: Fri Oct 10 12:44:43 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: selinux: Fix an uninitialized variable BUG/panic in selinux_secattr_to_sid() selinux: use default proc sid on symlinks file capabilities: uninline cap_safe_nice Update selinux info in MAINTAINERS and Kconfig help text SELinux: add gitignore file for mdp script SELinux: add boundary support and thread context assignment securityfs: do not depend on CONFIG_SECURITY selinux: add support for installing a dummy policy (v2) security: add/fix security kernel-doc selinux: Unify for- and while-loop style selinux: conditional expression type validation was off-by-one smack: limit privilege by label SELinux: Fix a potentially uninitialised variable in SELinux hooks SELinux: trivial, remove unneeded local variable SELinux: Trivial minor fixes that change C null character style make selinux_write_opts() static commit b11ce8a26d26ed9019a8803aa90d580b52f23e79 Merge: f6bccf6... a5d8c34... Author: Linus Torvalds Date: Fri Oct 10 12:42:31 2008 -0700 Merge branch 'sched-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (38 commits) sched debug: add name to sched_domain sysctl entries sched: sync wakeups vs avg_overlap sched: remove redundant code in cpu_cgroup_create() sched_rt.c: resch needed in rt_rq_enqueue() for the root rt_rq cpusets: scan_for_empty_cpusets(), cpuset doesn't seem to be so const sched: minor optimizations in wake_affine and select_task_rq_fair sched: maintain only task entities in cfs_rq->tasks list sched: fixup buddy selection sched: more sanity checks on the bandwidth settings sched: add some comments to the bandwidth code sched: fixlet for group load balance sched: rework wakeup preemption CFS scheduler: documentation about scheduling policies sched: clarify ifdef tangle sched: fix list traversal to use _rcu variant sched: turn off WAKEUP_OVERLAP sched: wakeup preempt when small overlap kernel/cpu.c: create a CPU_STARTING cpu_chain notifier kernel/cpu.c: Move the CPU_DYING notifiers sched: fix __load_balance_iterator() for cfq with only one task ... commit 89d49841e9e7a90b04b036b7dbe7521b55edbe24 Author: Christian Borntraeger Date: Fri Oct 10 21:33:30 2008 +0200 [S390] Fix checkstack for s390 With -march=z990 and later gcc can use the long displacement facility insruction lay for stack register handling. This patch adopts checkstack to catch lay in addition to ahi and aghi. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 4a672cfa3a7fcbc6f2adc558f34148be1096c561 Author: Martin Schwidefsky Date: Fri Oct 10 21:33:29 2008 +0200 [S390] fix initialization of stp chsc_sstpc returns -EIO on error and 0 on success but stp_reset checks against 1 instead of 0. chsc_sstpc used to return 1 on success, one call location has not been updated .. Signed-off-by: Martin Schwidefsky commit 408aec3c6c3cb5b4774f96ea7a35cd15ee91a56f Author: Heiko Carstens Date: Fri Oct 10 21:33:28 2008 +0200 [S390] 3215: Remove tasklet. The 3215 console irq handler used to schedule a tasklet. However the console irq handler also gets called from the infamous cio_tpi() function. Which in turn does something like local_bh_disable() [call console irq handler] _local_bh_enable() _local_bh_enable() prevents execution of softirqs, which is intended within cio_tpi(). However there might be a new softirq pending because irq handler scheduled a tasklet. In order to prevent this behaviour we just get rid of the tasklet. It's not doing much anyway. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 2332ce1a97963b7769e0c2d40492a10a124efba5 Author: Holger Smolinski Date: Fri Oct 10 21:33:27 2008 +0200 [S390] console flush on panic / reboot The s390 console drivers use the unblank callback of the console structure to flush the console buffer. In case of a panic or a reboot the CPU doing the callback can block on the console i/o. The other CPUs in the system continue to work. For panic this is not a good idea. Replace the unblank callback with proper panic/reboot notifier. These get called after all but one CPU have been stopped. Signed-off-by: Holger Smolinski Signed-off-by: Martin Schwidefsky commit 15e86b0c752d50e910b2cca6e83ce74c4440d06c Author: Florian Funke Date: Fri Oct 10 21:33:26 2008 +0200 [S390] introduce dirty bit for kvm live migration This patch defines a dirty bit in the PGSTE that can be used to implement dirty pages logging for KVM's live migration. The bit is set in the ptep_rcp_copy function, which is called to save dirty and referenced information from the storage key in the PGSTE. The bit can be tested and reset by KVM using the kvm_s390_test_and_clear_page_dirty function that is introduced by this patch. Acked-by: Carsten Otte Signed-off-by: Florian Funke Signed-off-by: Martin Schwidefsky commit ab1d848fd6a9151b02c6cbf4bddce6e24707b094 Author: Nigel Hislop Date: Fri Oct 10 21:33:25 2008 +0200 [S390] Add ioctl support for EMC Symmetrix Subsystem Control I/O EMC Symmetrix Subsystem Control I/O through CKD dasd requires a specific parameter list sent to the array via a Perform Subsystem Function CCW. The Symmetrix response is retrieved from the array via a Read Subsystem Data CCW. Signed-off-by: Nigel Hislop Signed-off-by: Hannes Reinecke Signed-off-by: Martin Schwidefsky commit 3ce66093f5ec5a6ae0ca90c79d81eee15e842293 Author: Martin Schwidefsky Date: Fri Oct 10 21:33:24 2008 +0200 [S390] xpram: per device block request queues. The xpram driver uses a single block device queue for all of its devices so far. With recent kernels removing xpram module fails to clean up all sysfs files. The next time the xpram module is loaded you'll get warnings: WARNING: at fs/sysfs/dir.c:463 sysfs_add_one+0x5e/0x64() sysfs: duplicate filename '35:0' can not be created Modules linked in: xpram(+) [last unloaded: xpram] Followed by the usual WARN_ON output, followed by an error message from kobject_add_internal, followed by a badness in genhd. Allocating a block queue per device fixes this. Signed-off-by: Martin Schwidefsky commit ada3df9171e48b2a5f1e9c828337b61746e19ff0 Author: Stefan Haberland Date: Fri Oct 10 21:33:23 2008 +0200 [S390] dasd: fix message flood for unsolicited interrupts In the unsolicited interupt handler fake IRBs from CIO have to be ignored because there is nothing to do. The function dump_sense should not be called if there is no sense data available. Signed-off-by: Stefan Haberland Signed-off-by: Martin Schwidefsky commit 5a0d0e65379256b4da2c9092e197a2c761f51c01 Author: Heiko Carstens Date: Fri Oct 10 21:33:22 2008 +0200 [S390] Move private simple udelay function to arch/s390/lib/delay.c. Move cio's private simple udelay function to lib/delay.c and turn it into something much more readable. So we have all implementations at one place. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b2300b9efe1b8174833e17f37e975c9da00c388a Author: Hongjie Yang Date: Fri Oct 10 21:33:21 2008 +0200 [S390] dcssblk: add >2G DCSSs support and stacked contiguous DCSSs support. The DCSS block device driver is modified to add >2G DCSSs support and allow a DCSS block device to map to a set of contiguous DCSSs. The extmem code is also modified to use new Diagnose x'64' subcodes for >2G DCSSs. Signed-off-by: Hongjie Yang Signed-off-by: Martin Schwidefsky commit 753c4dd6a2fa2af81f5d809d610d29f2d9dd9bc1 Author: Martin Schwidefsky Date: Fri Oct 10 21:33:20 2008 +0200 [S390] ptrace changes * System call parameter and result access functions * Add tracehook calls * Split syscall_trace into two functions do_syscall_trace_enter and do_syscall_trace_exit Signed-off-by: Martin Schwidefsky commit d86730bb9597b02bff59a3a5a01c0094d71a265f Author: Christoph Hellwig Date: Fri Oct 10 21:33:19 2008 +0200 [S390] s390: use sys_pause for 31bit pause entry point sys32_pause is a useless copy of the generic sys_pause. (and it's certainly not there for old sparc32 binaries..) Signed-off-by: Christoph Hellwig Signed-off-by: Martin Schwidefsky commit 7a0f475513fa573bc8e072021960313da32f0ee3 Author: Klaus-Dieter Wacker Date: Fri Oct 10 21:33:18 2008 +0200 [S390] qdio enhanced SIGA (iqdio) support. Add support for z10 HiperSockets multiwrite SBALs on output queues. This is used on LPAR with EDDP enabled devices. Signed-off-by: Klaus-Dieter Wacker Signed-off-by: Martin Schwidefsky commit b1e766137fe2462fd110e2930f74ef5636adb436 Author: Heiko Carstens Date: Fri Oct 10 21:33:17 2008 +0200 [S390] cio: fix cio_tpi. In cio_tpi only disable bottom halves when not in interrupt context. Otherwise a WARN_ON gets triggered. Besides that, when we are in interrupt context bottom halves are disabled anyway. Fixes this one: Badness at kernel/softirq.c:77 Modules linked in: CPU: 2 Not tainted 2.6.26 #4 Process swapper (pid: 0, task: 000000003fe83db0, ksp: 000000003fea7d28) Krnl PSW : 0404c00180000000 0000000000053f4e (__local_bh_disable+0xbe/0xcc) R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 EA:3 Krnl GPRS: 0000000000008ee0 00000000005f95e0 0000000000000000 0000000000000001 000000000020be92 0000000000000000 0000000000000210 00000000005d36c0 000000003fb5f4d8 0000000000000000 000000000020bed0 000000003fb5f3c8 00000000009be920 0000000000364898 000000003fb5f408 000000003fb5f3c8 Krnl Code: 0000000000053f42: bf2f1000 icm %r2,15,0(%r1) 0000000000053f46: a774ffc5 brc 7,53ed0 0000000000053f4a: a7f40001 brc 15,53f4c >0000000000053f4e: a7280001 lhi %r2,1 0000000000053f52: 50201000 st %r2,0(%r1) 0000000000053f56: a7f4ffbd brc 15,53ed0 0000000000053f5a: 0707 bcr 0,%r7 0000000000053f5c: a7f13fc0 tmll %r15,16320 Call Trace: ([<0000000000000210>] 0x210) [<0000000000053f86>] local_bh_disable+0x2a/0x38 [<000000000020bed0>] wait_cons_dev+0xd4/0x154 [<0000000000247cb2>] raw3215_make_room+0x6a/0x1a8 [<000000000024861a>] raw3215_write+0x86/0x28c [<00000000002488a0>] con3215_write+0x80/0x110 [<000000000004c3e0>] __call_console_drivers+0xc8/0xe4 [<000000000004c47e>] _call_console_drivers+0x82/0xc4 [<000000000004c744>] release_console_sem+0x218/0x2c0 [<000000000004cf64>] vprintk+0x3c0/0x504 [<0000000000354a4a>] printk+0x52/0x64 [<0000000000088004>] __print_symbol+0x40/0x50 [<0000000000071dbc>] print_stack_trace+0x78/0xac [<0000000000079e78>] print_lock_dependencies+0x148/0x208 [<000000000007a050>] print_irq_inversion_bug+0x118/0x15c [<000000000007a106>] check_usage_forwards+0x72/0x84 [<000000000007a36e>] mark_lock+0x1d2/0x594 [<000000000007baca>] __lock_acquire+0x886/0xf48 [<000000000007c234>] lock_acquire+0xa8/0xe0 [<0000000000350316>] _write_lock+0x56/0x98 [<000000000026cd92>] zfcp_erp_adapter_reopen+0x4e/0x8c [<000000000026f1e8>] zfcp_qdio_int_resp+0x2e4/0x2f4 [<00000000002210f4>] qdio_int_handler+0x274/0x888 [<00000000002177b6>] ccw_device_call_handler+0x6e/0xd8 [<0000000000215336>] ccw_device_irq+0xd6/0x160 [<0000000000212f88>] io_subchannel_irq+0x8c/0x118 [<000000000020c120>] do_IRQ+0x1d0/0x1fc [<00000000000270b2>] io_return+0x0/0x8 [<000000000001c8a4>] cpu_idle+0x178/0x21c ([<000000000001c884>] cpu_idle+0x158/0x21c) [<00000000003483a2>] start_secondary+0xb6/0xc8 INFO: lockdep is turned off. Last Breaking-Event-Address: [<0000000000053f4a>] __local_bh_disable+0xba/0xcc Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit b2bbb642ac2829006a81ae164e2f06ebc22f81dd Author: Julia Lawall Date: Fri Oct 10 21:33:16 2008 +0200 [S390] cio: Correct use of ! and & In commit e6bafba5b4765a5a252f1b8d31cbf6d2459da337, a bug was fixed that involved converting !x & y to !(x & y). The code below shows the same pattern, and thus should perhaps be fixed in the same way. In particular, the result of !scsw_stctl(&request->irb.scsw) & SCSW_STCTL_STATUS_PEND is always just !scsw_stctl(&request->irb.scsw). The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @@ expression E; constant C; @@ ( !E & !C | - !E & C + !(E & C) ) // Signed-off-by: Julia Lawall Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit f9c9fe3ecfc0c5ff17728d0c5ee95a4e269ec190 Author: Peter Oberparleiter Date: Fri Oct 10 21:33:15 2008 +0200 [S390] cio: inline assembly cleanup Fix incorrect in- and output constraints, remove volatile declaration of inline assembly parameters and reformat constraint declarations to be more consistent. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 1f4e7edabc4071cdff0133e7e04db2d7287d0e36 Author: Cornelia Huck Date: Fri Oct 10 21:33:14 2008 +0200 [S390] bus_id -> dev_set_name() for css and ccw busses Convert remaining s390 users setting bus_id to dev_set_name() or init_name. Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman Signed-off-by: Martin Schwidefsky commit 9286b7ed682615c1508210f85d26e4c9a5cbf126 Author: Martin Schwidefsky Date: Fri Oct 10 21:33:13 2008 +0200 [S390] bus_id ->dev_name() conversions in qdio Use dev_name() in the new qdio driver. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 37f1c012f0f23b52df3a0d7850212b336fc9e595 Author: Cornelia Huck Date: Fri Oct 10 21:33:12 2008 +0200 [S390] Use s390_root_dev_* in kvm_virtio. No need to define a static device for the kvm_s390 root device, just use s390_root_dev_register(). This is needed for the bus_id rework Acked-by: Carsten Otte Cc: Kay Sievers Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman Signed-off-by: Martin Schwidefsky commit b9d3aed7e1e50183085fcd2af643bf42d6b4bd95 Author: Cornelia Huck Date: Fri Oct 10 21:33:11 2008 +0200 [S390] more bus_id -> dev_name conversions Some further bus_id -> dev_name() conversions in s390 code. Cc: Kay Sievers Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman Signed-off-by: Martin Schwidefsky commit 1bf5b2853925cf92bfc5f0eddb68a8ed18782845 Author: Cornelia Huck Date: Fri Oct 10 21:33:10 2008 +0200 [S390] bus_id -> dev_set_name() changes Convert most s390 users setting bus_id to dev_set_name(). css and ccw busses are deferred since they need some special treatment. Signed-off-by: Cornelia Huck Signed-off-by: Greg Kroah-Hartman Signed-off-by: Martin Schwidefsky commit 2a0217d5c7d22d6dd28f8ae5d20b06d24dc426b8 Author: Kay Sievers Date: Fri Oct 10 21:33:09 2008 +0200 [S390] bus_id -> dev_name conversions bus_id -> dev_name() conversions in s390 code. [cornelia.huck@de.ibm.com: minor adaptions] Signed-off-by: Kay Sievers Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman Signed-off-by: Martin Schwidefsky commit e4a1afaeb1d9ebc09f46d8b229ac96116974b1b8 Author: Cornelia Huck Date: Fri Oct 10 21:33:08 2008 +0200 [S390] cio: Exorcise cio_msg= from documentation. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit d45387d8bce2674fd21369a394933a02b8125878 Author: Cornelia Huck Date: Fri Oct 10 21:33:07 2008 +0200 [S390] cio: Update cio_ignore documentation. Add documentation for the new "purge" cio_ignore parameter. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit ecf5d9ef68b868b293b40b89615a92de7310d065 Author: Peter Oberparleiter Date: Fri Oct 10 21:33:06 2008 +0200 [S390] cio: introduce purge function for /proc/cio_ignore Allow users to remove blacklisted ccw devices by using the /proc/cio_ignore interface: echo purge > /proc/cio_ignore will remove all devices which are offline and blacklisted. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 46fbe4e46ddb88805245a24f684400b50ead68a7 Author: Peter Oberparleiter Date: Fri Oct 10 21:33:05 2008 +0200 [S390] cio: move device unregistration to dedicated work queue Use dedicated slow path work queue when unregistering a device due to a user action. This ensures serialialization of other register/ unregister requests. Signed-off-by: Peter Oberparleiter Signed-off-by: Martin Schwidefsky commit 4bcb3a37180ee4dffaef8298f373b334a7bedabb Author: Ursula Braun Date: Fri Oct 10 21:33:04 2008 +0200 [S390] qdio: speed up multicast traffic on full HiperSocket queue If an asynchronous HiperSockets queue runs full, no further packet can be sent. In this case the next initiative to give transmitted skbs back to the stack is triggered only by a 10-seconds qdio timer. This timer has been introduced for low multicast traffic scenarios to guarantee freeing of skbs in a limited amount of time. For high HiperSocket multicast traffic scenarios progress checking on the outbound queue should be enforced by tasklet rescheduling. Signed-off-by: Ursula Braun Signed-off-by: Martin Schwidefsky commit d2a3b222cf976bc44bb9aed13f7b17feea28f633 Author: Luis R. Rodriguez Date: Fri Oct 10 12:26:24 2008 -0700 ath9k: Fix return code when ath9k_hw_setpower() fails on reset We were not reporting a status code back ath9k_hw_setpower() failed during reset so lets correct this. Reported-by: Jiri Slaby Signed-off-by: Luis R. Rodriguez Signed-off-by: David S. Miller commit 1cf69cfbe117d645640a9230d6deb07c9db46c5f Author: Luis R. Rodriguez Date: Fri Oct 10 12:25:45 2008 -0700 ath9k: remove nasty FAIL macro from ath9k_hw_reset() This is fucking horribe crap code so nuke it. There I cursed too in a commit log. Signed-off-by: Luis R. Rodriguez Signed-off-by: David S. Miller commit 4d74f8ba1fb152ae07eb858abb713e094e77b7d5 Author: Patrick McHardy Date: Fri Oct 10 12:11:06 2008 -0700 gre: minor cleanups in netlink interface - use typeful helpers for IFLA_GRE_LOCAL/IFLA_GRE_REMOTE - replace magic value by FIELD_SIZEOF - use MODULE_ALIAS_RTNL_LINK macro Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit ba9e64b1c23f1dd22fea14c310f739d84ac8b748 Author: Patrick McHardy Date: Fri Oct 10 12:10:30 2008 -0700 gre: fix copy and paste error The flags are dumped twice, the keys not at all. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f6bccf695431da0e9bd773550ae91b8cb9ffb227 Merge: 3af73d3... a0f000e... Author: Linus Torvalds Date: Fri Oct 10 11:20:42 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: crypto: skcipher - Use RNG interface instead of get_random_bytes crypto: rng - RNG interface and implementation crypto: api - Add fips_enable flag crypto: skcipher - Move IV generators into their own modules crypto: cryptomgr - Test ciphers using ECB crypto: api - Use test infrastructure crypto: cryptomgr - Add test infrastructure crypto: tcrypt - Add alg_test interface crypto: tcrypt - Abort and only log if there is an error crypto: crc32c - Use Intel CRC32 instruction crypto: tcrypt - Avoid using contiguous pages crypto: api - Display larval objects properly crypto: api - Export crypto_alg_lookup instead of __crypto_alg_lookup crypto: Kconfig - Replace leading spaces with tabs commit 3af73d392c9c414ca527bab9c5d4c2a97698acbd Merge: 13dd7f8... eedd5d0... Author: Linus Torvalds Date: Fri Oct 10 11:16:33 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (29 commits) RDMA/nes: Fix slab corruption IB/mlx4: Set RLKEY bit for kernel QPs RDMA/nes: Correct error_module bit mask RDMA/nes: Fix routed RDMA connections RDMA/nes: Enhanced PFT management scheme RDMA/nes: Handle AE bounds violation RDMA/nes: Limit critical error interrupts RDMA/nes: Stop spurious MAC interrupts RDMA/nes: Correct tso_wqe_length RDMA/nes: Fill in firmware version for ethtool RDMA/nes: Use ethtool timer value RDMA/nes: Correct MAX TSO frags value RDMA/nes: Enable MC/UC after changing MTU RDMA/nes: Free NIC TX buffers when destroying NIC QP RDMA/nes: Fix MDC setting RDMA/nes: Add wqm_quanta module option RDMA/nes: Module parameter permissions RDMA/cxgb3: Set active_mtu in ib_port_attr RDMA/nes: Add support for 4-port 1G HP blade card RDMA/nes: Make mini_cm_connect() static ... commit 13dd7f876dffb44088c5435c3df1986e33cff960 Merge: b0af205... 27eccf4... Author: Linus Torvalds Date: Fri Oct 10 11:13:55 2008 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: choose better identifiers dlm: remove bkl dlm: fix address compare dlm: fix locking of lockspace list in dlm_scand dlm: detect available userspace daemon dlm: allow multiple lockspace creates commit b0af205afb111e17ac8db64c3b9c4f2c332de92a Merge: 73f6aa4... 0c2322e... Author: Linus Torvalds Date: Fri Oct 10 11:11:47 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm * git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm: dm: detect lost queue dm: publish dm_vcalloc dm: publish dm_table_unplug_all dm: publish dm_get_mapinfo dm: export struct dm_dev dm crypt: avoid unnecessary wait when splitting bio dm crypt: tidy ctx pending dm crypt: fix async inc_pending dm crypt: move dec_pending on error into write_io_submit dm crypt: remove inc_pending from write_io_submit dm crypt: tidy write loop pending dm crypt: tidy crypt alloc dm crypt: tidy inc pending dm exception store: use chunk_t for_areas dm exception store: introduce area_location function dm raid1: kcopyd should stop on error if errors handled dm mpath: remove is_active from struct dm_path dm mpath: use more error codes Fixed up trivial conflict in drivers/md/dm-mpath.c manually. commit 73f6aa4d44ab6157badc456ddfa05b31e58de5f0 Author: Christoph Hellwig Date: Fri Oct 10 17:28:29 2008 +1100 Fix barrier fail detection in XFS Currently we disable barriers as soon as we get a buffer in xlog_iodone that has the XBF_ORDERED flag cleared. But this can be the case not only for buffers where the barrier failed, but also the first buffer of a split log write in case of a log wraparound. Due to the disabled barriers we can easily get directory corruption on unclean shutdowns. So instead of using this check add a new buffer flag for failed barrier writes. This is a regression vs 2.6.26 caused by patch to use the right macro to check for the ORDERED flag, as we previously got true returned for every buffer. Thanks to Toei Rei for reporting the bug. Signed-off-by: Christoph Hellwig Reviewed-by: Eric Sandeen Reviewed-by: David Chinner Signed-off-by: Tim Shimmin Signed-off-by: Linus Torvalds commit 445e1ceda377a681c6f53595311b0d654ca21003 Merge: ef5bef3... 254db57... Author: Linus Torvalds Date: Fri Oct 10 11:02:22 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw * git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw: GFS2: Support for I/O barriers GFS2: Add UUID to GFS2 sb GFS2: high time to take some time over atime GFS2: The war on bloat GFS2: GFS2 will panic if you misspell any mount options GFS2: Direct IO write at end of file error GFS2: Use an IS_ERR test rather than a NULL test GFS2: Fix race relating to glock min-hold time GFS2: Fix & clean up GFS2 rename GFS2: rm on multiple nodes causes panic GFS2: Fix metafs mounts GFS2: Fix debugfs glock file iterator commit ef5bef357cdf49f3a386c7102dbf3be5f7e5c913 Merge: e26feff... 41bfcf9... Author: Linus Torvalds Date: Fri Oct 10 10:53:26 2008 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (37 commits) [SCSI] zfcp: fix double dbf id usage [SCSI] zfcp: wait on SCSI work to be finished before proceeding with init dev [SCSI] zfcp: fix erp list usage without using locks [SCSI] zfcp: prevent fc_remote_port_delete calls for unregistered rport [SCSI] zfcp: fix deadlock caused by shared work queue tasks [SCSI] zfcp: put threshold data in hba trace [SCSI] zfcp: Simplify zfcp data structures [SCSI] zfcp: Simplify get_adapter_by_busid [SCSI] zfcp: remove all typedefs and replace them with standards [SCSI] zfcp: attach and release SAN nameserver port on demand [SCSI] zfcp: remove unused references, declarations and flags [SCSI] zfcp: Update message with input from review [SCSI] zfcp: add queue_full sysfs attribute [SCSI] scsi_dh: suppress comparison warning [SCSI] scsi_dh: add Dell product information into rdac device handler [SCSI] qla2xxx: remove the unused SCSI_QLOGIC_FC_FIRMWARE option [SCSI] qla2xxx: fix printk format warnings [SCSI] qla2xxx: Update version number to 8.02.01-k8. [SCSI] qla2xxx: Ignore payload reserved-bits during RSCN processing. [SCSI] qla2xxx: Additional residual-count corrections during UNDERRUN handling. ... commit e26feff647ef34423b048b940540a0059001ddb0 Merge: d403a64... b911e47... Author: Linus Torvalds Date: Fri Oct 10 10:52:45 2008 -0700 Merge branch 'for-2.6.28' of git://git.kernel.dk/linux-2.6-block * 'for-2.6.28' of git://git.kernel.dk/linux-2.6-block: (132 commits) doc/cdrom: Trvial documentation error, file not present block_dev: fix kernel-doc in new functions block: add some comments around the bio read-write flags block: mark bio_split_pool static block: Find bio sector offset given idx and offset block: gendisk integrity wrapper block: Switch blk_integrity_compare from bdev to gendisk block: Fix double put in blk_integrity_unregister block: Introduce integrity data ownership flag block: revert part of d7533ad0e132f92e75c1b2eb7c26387b25a583c1 bio.h: Remove unused conditional code block: remove end_{queued|dequeued}_request() block: change elevator to use __blk_end_request() gdrom: change to use __blk_end_request() memstick: change to use __blk_end_request() virtio_blk: change to use __blk_end_request() blktrace: use BLKTRACE_BDEV_SIZE as the name size for setup structure block: add lld busy state exporting interface block: Fix blk_start_queueing() to not kick a stopped queue include blktrace_api.h in headers_install ... commit 725c25819e4a0dafdcf42a5f31bc569341919c7c Merge: 3dd392a... 72d3105... 129d6ab... 1e19b16... Author: Ingo Molnar Date: Fri Oct 10 19:47:12 2008 +0200 Merge branches 'core/iommu', 'x86/amd-iommu' and 'x86/iommu' into x86-v28-for-linus-phase3-B Conflicts: arch/x86/kernel/pci-gart_64.c include/asm-x86/dma-mapping.h commit 3dd392a407d15250a501fa109cc1f93fee95ef85 Merge: b27a43c... d403a64... Author: Ingo Molnar Date: Fri Oct 10 19:30:08 2008 +0200 Merge branch 'linus' into x86/pat2 Conflicts: arch/x86/mm/init_64.c commit b27a43c1e90582facad44de67d02bc9e9f900289 Author: Suresh Siddha Date: Tue Oct 7 13:58:46 2008 -0700 x86, cpa: make the kernel physical mapping initialization a two pass sequence, fix Jeremy Fitzhardinge wrote: > I'd noticed that current tip/master hasn't been booting under Xen, and I > just got around to bisecting it down to this change. > > commit 065ae73c5462d42e9761afb76f2b52965ff45bd6 > Author: Suresh Siddha > > x86, cpa: make the kernel physical mapping initialization a two pass sequence > > This patch is causing Xen to fail various pagetable updates because it > ends up remapping pagetables to RW, which Xen explicitly prohibits (as > that would allow guests to make arbitrary changes to pagetables, rather > than have them mediated by the hypervisor). Instead of making init a two pass sequence, to satisfy the Intel's TLB Application note (developer.intel.com/design/processor/applnots/317080.pdf Section 6 page 26), we preserve the original page permissions when fragmenting the large mappings and don't touch the existing memory mapping (which satisfies Xen's requirements). Only open issue is: on a native linux kernel, we will go back to mapping the first 0-1GB kernel identity mapping as executable (because of the static mapping setup in head_64.S). We can fix this in a different patch if needed. Signed-off-by: Suresh Siddha Acked-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar commit ad2cde16a21985cdc4302e4a4b0fc373d666fdf7 Author: Ingo Molnar Date: Tue Sep 30 13:20:45 2008 +0200 x86, pat: cleanups clean up recently added code to be more consistent with other x86 code. Signed-off-by: Ingo Molnar commit 28dd033f43ca957cd751e02652b36c6fa364ca18 Author: Suresh Siddha Date: Mon Sep 29 12:13:26 2008 -0700 x86: fix pagetable init 64-bit breakage Fix _end alignment check - can trigger a crash if _end happens to be on a page boundary. Signed-off-by: Ingo Molnar commit 9542ada803198e6eba29d3289abb39ea82047b92 Author: Suresh Siddha Date: Wed Sep 24 08:53:33 2008 -0700 x86: track memtype for RAM in page struct Track the memtype for RAM pages in page struct instead of using the memtype list. This avoids the explosion in the number of entries in memtype list (of the order of 20,000 with AGP) and makes the PAT tracking simpler. We are using PG_arch_1 bit in page->flags. We still use the memtype list for non RAM pages. Signed-off-by: Suresh Siddha Signed-off-by: Venkatesh Pallipadi Signed-off-by: Ingo Molnar commit ad5ca55f6bdb47c957b681c7358bb3719ba4ee82 Author: Suresh Siddha Date: Tue Sep 23 14:00:42 2008 -0700 x86, cpa: srlz cpa(), global flush tlb after splitting big page and before doing cpa Do a global flush tlb after splitting the large page and before we do the actual change page attribute in the PTE. With out this, we violate the TLB application note, which says "The TLBs may contain both ordinary and large-page translations for a 4-KByte range of linear addresses. This may occur if software modifies the paging structures so that the page size used for the address range changes. If the two translations differ with respect to page frame or attributes (e.g., permissions), processor behavior is undefined and may be implementation-specific." And also serialize cpa() (for !DEBUG_PAGEALLOC which uses large identity mappings) using cpa_lock. So that we don't allow any other cpu, with stale large tlb entries change the page attribute in parallel to some other cpu splitting a large page entry along with changing the attribute. Signed-off-by: Suresh Siddha Cc: Suresh Siddha Cc: arjan@linux.intel.com Cc: venkatesh.pallipadi@intel.com Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit 8311eb84bf842d345f543f4c62ca2b6ea26f638c Author: Suresh Siddha Date: Tue Sep 23 14:00:41 2008 -0700 x86, cpa: remove cpa pool code Interrupt context no longer splits large page in cpa(). So we can do away with cpa memory pool code. Signed-off-by: Suresh Siddha Cc: Suresh Siddha Cc: arjan@linux.intel.com Cc: venkatesh.pallipadi@intel.com Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit 55121b4369ced87863bf04da1f762a37e58aee4d Author: Suresh Siddha Date: Tue Sep 23 14:00:40 2008 -0700 x86, cpa: no need to check alias for __set_pages_p/__set_pages_np No alias checking needed for setting present/not-present mapping. Otherwise, we may need to break large pages for 64-bit kernel text mappings (this adds to complexity if we want to do this from atomic context especially, for ex: with CONFIG_DEBUG_PAGEALLOC). Let's keep it simple! Signed-off-by: Suresh Siddha Cc: Suresh Siddha Cc: arjan@linux.intel.com Cc: venkatesh.pallipadi@intel.com Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit 0b8fdcbcd287a1fbe66817491e6149841ae25705 Author: Suresh Siddha Date: Tue Sep 23 14:00:39 2008 -0700 x86, cpa: dont use large pages for kernel identity mapping with DEBUG_PAGEALLOC Don't use large pages for kernel identity mapping with DEBUG_PAGEALLOC. This will remove the need to split the large page for the allocated kernel page in the interrupt context. This will simplify cpa code(as we don't do the split any more from the interrupt context). cpa code simplication in the subsequent patches. Signed-off-by: Suresh Siddha Cc: Suresh Siddha Cc: arjan@linux.intel.com Cc: venkatesh.pallipadi@intel.com Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit a2699e477b8e6b17d4da64916f766dd5a2576c9c Author: Suresh Siddha Date: Tue Sep 23 14:00:38 2008 -0700 x86, cpa: make the kernel physical mapping initialization a two pass sequence In the first pass, kernel physical mapping will be setup using large or small pages but uses the same PTE attributes as that of the early PTE attributes setup by early boot code in head_[32|64].S After flushing TLB's, we go through the second pass, which setups the direct mapped PTE's with the appropriate attributes (like NX, GLOBAL etc) which are runtime detectable. This two pass mechanism conforms to the TLB app note which says: "Software should not write to a paging-structure entry in a way that would change, for any linear address, both the page size and either the page frame or attributes." Signed-off-by: Suresh Siddha Cc: Suresh Siddha Cc: arjan@linux.intel.com Cc: venkatesh.pallipadi@intel.com Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit 3a85e770aa77e4f1a4096275c97b64c10cd7323e Author: Suresh Siddha Date: Tue Sep 23 14:00:37 2008 -0700 x86, cpa: remove USER permission from the very early identity mapping attribute remove USER from the PTE/PDE attributes for the very early identity mapping. We overwrite these mappings with KERNEL attribute later in the boot. Just being paranoid here as there is no need for USER bit to be set. If this breaks something(don't know the history), then we can simply drop this change. Signed-off-by: Suresh Siddha Cc: Suresh Siddha Cc: arjan@linux.intel.com Cc: venkatesh.pallipadi@intel.com Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit b2bc27314664c4d1a2f02e6f4cd0c32e4681d61e Author: Suresh Siddha Date: Tue Sep 23 14:00:36 2008 -0700 x86, cpa: rename PTE attribute macros for kernel direct mapping in early boot Signed-off-by: Suresh Siddha Cc: Suresh Siddha Cc: arjan@linux.intel.com Cc: venkatesh.pallipadi@intel.com Cc: jeremy@goop.org Signed-off-by: Ingo Molnar commit d403a6484f0341bf0624d17ece46f24f741b6a92 Merge: ed458df... e496e3d... Author: Linus Torvalds Date: Fri Oct 10 08:07:53 2008 -0700 Merge phase #1 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip This merges phase 1 of the x86 tree, which is a collection of branches: x86/alternatives, x86/cleanups, x86/commandline, x86/crashdump, x86/debug, x86/defconfig, x86/doc, x86/exports, x86/fpu, x86/gart, x86/idle, x86/mm, x86/mtrr, x86/nmi-watchdog, x86/oprofile, x86/paravirt, x86/reboot, x86/sparse-fixes, x86/tsc, x86/urgent and x86/vmalloc and as Ingo says: "these are the easiest, purely independent x86 topics with no conflicts, in one nice Octopus merge". * 'x86-v28-for-linus-phase1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (147 commits) x86: mtrr_cleanup: treat WRPROT as UNCACHEABLE x86: mtrr_cleanup: first 1M may be covered in var mtrrs x86: mtrr_cleanup: print out correct type v2 x86: trivial printk fix in efi.c x86, debug: mtrr_cleanup print out var mtrr before change it x86: mtrr_cleanup try gran_size to less than 1M, v3 x86: mtrr_cleanup try gran_size to less than 1M, cleanup x86: change MTRR_SANITIZER to def_bool y x86, debug printouts: IOMMU setup failures should not be KERN_ERR x86: export set_memory_ro and set_memory_rw x86: mtrr_cleanup try gran_size to less than 1M x86: mtrr_cleanup prepare to make gran_size to less 1M x86: mtrr_cleanup safe to get more spare regs now x86_64: be less annoying on boot, v2 x86: mtrr_cleanup hole size should be less than half of chunk_size, v2 x86: add mtrr_cleanup_debug command line x86: mtrr_cleanup optimization, v2 x86: don't need to go to chunksize to 4G x86_64: be less annoying on boot x86, olpc: fix endian bug in openfirmware workaround ... commit 43603c8df97f246e8be7b9cc92a8f968a85108bd Author: Hans Schou Date: Thu Oct 9 20:47:24 2008 +0200 x86, debug: print more information about unknown CPUs Write the name of the unknown vendor_id to output instead of just "unknown". Tag changed to 'vendor_id' as used in /proc/cpuinfo Signed-off-by: Hans Schou Signed-off-by: Ingo Molnar commit ed458df4d2470adc02762a87a9ad665d0b1a2bd4 Author: Linus Torvalds Date: Fri Oct 10 08:00:17 2008 -0700 PnP: move pnpacpi/pnpbios_init to after PCI init We already did that a long time ago for pnp_system_init, but pnpacpi_init and pnpbios_init remained as subsys_initcalls, and get linked into the kernel before the arch-specific routines that finalize the PCI resources (pci_subsys_init). This means that the PnP routines would either register their resources before the PCI layer could, or would be unable to check whether a PCI resource had already been registered. Both are problematic. I wanted to do this before 2.6.27, but every time we change something like this, something breaks. That said, _every_ single time we trust some firmware (like PnP tables) more than we trust the hardware itself (like PCI probing), the problems have been worse. Signed-off-by: Linus Torvalds commit 82219fceeb654789a9dd7cd3c6cce12dbf659342 Merge: 3fa8749... 0395e61... Author: Linus Torvalds Date: Fri Oct 10 07:46:45 2008 -0700 Merge branch 'upstream-2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-2.6.28' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: ata_piix: IDE Mode SATA patch for Intel Ibex Peak DeviceIDs libata-eh: clear UNIT ATTENTION after reset ata_piix: add Hercules EC-900 mini-notebook to ich_laptop short cable list libata: reorder ata_device to remove 8 bytes of padding on 64 bits [libata] pata_bf54x: Add proper PM operation pata_sil680: convert CONFIG_PPC_MERGE to CONFIG_PPC libata: Implement disk shock protection support [libata] Introduce ata_id_has_unload() PATA: RPC now selects HAVE_PATA_PLATFORM for pata platform driver ata_piix: drop merged SCR access and use slave_link instead libata: implement slave_link libata: misc updates to prepare for slave link libata: reimplement link iterator libata: make SCR access ops per-link commit 0c2322e4ce144e130c03d813fe92de3798662c5e Author: Alasdair G Kergon Date: Fri Oct 10 13:37:13 2008 +0100 dm: detect lost queue Detect and report buggy drivers that destroy their request_queue. Signed-off-by: Alasdair G Kergon Cc: Stefan Raspl Cc: Jens Axboe Cc: Andrew Morton commit 54160904260fa764ba6e2dc738770be30fdf9553 Author: Mikulas Patocka Date: Fri Oct 10 13:37:12 2008 +0100 dm: publish dm_vcalloc Publish dm_vcalloc in include/linux/device-mapper.h because this function is used by targets. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit ea0ec640940c2ae3a8d71af3249fccf06a9997a3 Author: Mikulas Patocka Date: Fri Oct 10 13:37:11 2008 +0100 dm: publish dm_table_unplug_all Publish dm_table_unplug_all in include/linux/device-mapper.h because this function is used by targets. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 89343da077ad564ed130c46e5ea6a79388410fa5 Author: Mikulas Patocka Date: Fri Oct 10 13:37:10 2008 +0100 dm: publish dm_get_mapinfo Publish dm_get_mapinfo in include/linux/device-mapper.h because this function is used by targets. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 82b1519b345d61dcfae526e3fcb08128f39f9bcc Author: Mikulas Patocka Date: Fri Oct 10 13:37:09 2008 +0100 dm: export struct dm_dev Split struct dm_dev in two and publish the part that other targets need in include/linux/device-mapper.h. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit 933f01d43326fb12a978a8e0bb062c28a2de4d5a Author: Milan Broz Date: Fri Oct 10 13:37:08 2008 +0100 dm crypt: avoid unnecessary wait when splitting bio Don't wait between submitting crypt requests for a bio unless we are short of memory. There are two situations when we must split an encrypted bio: 1) there are no free pages; 2) the new bio would violate underlying device restrictions (e.g. max hw segments). In case (2) we do not need to wait. Add output variable to crypt_alloc_buffer() to distinguish between these cases. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit c8081618a9f832fdf7ca81eb087f9f61f2bf07d5 Author: Milan Broz Date: Fri Oct 10 13:37:08 2008 +0100 dm crypt: tidy ctx pending Move the initialisation of ctx->pending into one place, at the start of crypt_convert(). Introduce crypt_finished to indicate whether or not the encryption is finished, for use in a later patch. No functional change. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 4e59409891c9cc30cb4d5d73250b0c968af8e39b Author: Milan Broz Date: Fri Oct 10 13:37:07 2008 +0100 dm crypt: fix async inc_pending The pending reference count must be incremented *before* the async work is queued to another thread, not after. Otherwise there's a race if the work completes and decrements the reference count before it gets incremented. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 6c031f41db15b6cb0cd33545cec28ca706cd3c7e Author: Milan Broz Date: Fri Oct 10 13:37:06 2008 +0100 dm crypt: move dec_pending on error into write_io_submit Make kcryptd_crypt_write_io_submit() responsible for decrementing the pending count after an error. Also fixes a bug in the async path that forgot to decrement it. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 1e37bb8e557a186d327eb4d1387953880ffc2cdd Author: Alasdair G Kergon Date: Fri Oct 10 13:37:05 2008 +0100 dm crypt: remove inc_pending from write_io_submit Make the caller reponsible for incrementing the pending count before calling kcryptd_crypt_write_io_submit() in the non-async case to bring it into line with the async case. Signed-off-by: Alasdair G Kergon commit fc5a5e9aa878f86642c962b309f793fb2db0727e Author: Milan Broz Date: Fri Oct 10 13:37:04 2008 +0100 dm crypt: tidy write loop pending Move kcryptd_crypt_write_convert_loop inside kcryptd_crypt_write_convert. This change is needed for a later patch. No functional change. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit dc440d1e56c481f80d5350daadc7d078a04ca729 Author: Milan Broz Date: Fri Oct 10 13:37:03 2008 +0100 dm crypt: tidy crypt alloc Factor out crypt io allocation code. Later patches will call it from another place. No functional change. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 3e1a8bdd05d6b1734a8ccf7af28042d72c447780 Author: Milan Broz Date: Fri Oct 10 13:37:02 2008 +0100 dm crypt: tidy inc pending Move io pending to one place. No functional change, usefull to simplify debugging. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit fd14acf6fc9f4635be201960004d847b14236a20 Author: Mikulas Patocka Date: Fri Oct 10 13:37:01 2008 +0100 dm exception store: use chunk_t for_areas Change uint32_t into chunk_t to remove 32-bit limitation on the number of chunks on systems with 64-bit sector numbers. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit a481db784682b33d078c7bf8a1d0581dc09946c1 Author: Mikulas Patocka Date: Fri Oct 10 13:37:00 2008 +0100 dm exception store: introduce area_location function Move this logic to a function, because it will be reused later. Signed-off-by: Mikulas Patocka Signed-off-by: Alasdair G Kergon commit f7c83e2e4783c4f7abe6f3a85a8c5e210f98bc7b Author: Jonathan Brassow Date: Fri Oct 10 13:36:59 2008 +0100 dm raid1: kcopyd should stop on error if errors handled dm-raid1 is setting the 'DM_KCOPYD_IGNORE_ERROR' flag unconditionally when assigning kcopyd work. kcopyd is responsible for copying an assigned section of disk to one or more other disks. The 'DM_KCOPYD_IGNORE_ERROR' flag affects kcopyd in the following way: When not set: kcopyd will immediately stop the copy operation when an error is encountered. When set: kcopyd will try to proceed regardless of errors and try to continue copying any remaining amount. Since dm-raid1 tracks regions of the address space that are (or are not) in sync and it now has the ability to handle these errors, we can safely enable this optimization. This optimization is conditional on whether mirror error handling has been enabled. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 6680073d3ec7c6dbdbf77870bf1fea869767d779 Author: Kiyoshi Ueda Date: Fri Oct 10 13:36:58 2008 +0100 dm mpath: remove is_active from struct dm_path This patch moves 'is_active' from struct dm_path to struct pgpath as it does not need exporting. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon commit 01460f3520c100010aacc8f8500cafcb17ce4665 Author: Benjamin Marzinski Date: Fri Oct 10 13:36:57 2008 +0100 dm mpath: use more error codes This patch allows path errors from the multipath ctr function to propagate up to userspace as errno values from the ioctl() call. This is in response to https://www.redhat.com/archives/dm-devel/2008-May/msg00000.html and https://bugzilla.redhat.com/show_bug.cgi?id=444421 The patch only lets through the errors that it needs to in order to get the path errors from parse_path(). Signed-off-by: Benjamin Marzinski Signed-off-by: Alasdair G Kergon commit 72474be62d6ec2e0337ff01ecbd737f9c5c242c7 Author: Matthew Ranostay Date: Thu Oct 9 09:32:17 2008 -0400 ALSA: hda: VREF powerdown for headphones Add support for powering down VREF on standard headphone insertion, also powers up the VREF on a headset insertion. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b9aea7150a84d037b6ca3c2506b0058cee4eb1d2 Author: Matthew Ranostay Date: Thu Oct 9 08:37:28 2008 -0400 ALSA: hda: STAC_HP_M4 Set the third microphone to a default config of a 'Line In' to be added the Input Source Mux's. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit fb2aa074d4eac4957f5717d261bc336f4a5f31c4 Author: Mark Brown Date: Wed Oct 8 13:02:20 2008 +0100 ALSA: ASoC: Check for machine type in GTA01 machine driver Since there are now multiple OpenMoko platforms it is more important to check that the machine driver is running on the correct system. This was orgininally generated as part of the initial GTA02 machine port. Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 32fe61426373d85e797bf4f4dcbe4510487c3e00 Author: Takashi Iwai Date: Wed Oct 8 10:28:25 2008 +0200 ALSA: mtpav - Fix race in probe Ingo reported Oops at probing mtpav driver. It's a race between the irq handler and the rawmidi instance registration. This patch fixes the order of registration to avoid the race. Signed-off-by: Takashi Iwai Tested-by: Ingo Molnar Signed-off-by: Jaroslav Kysela commit 59b3db6c69ae9eeed1d8fc3aee6b88272ba38ba8 Author: Pedro Lopez-Cabanillas Date: Tue Oct 7 20:54:18 2008 +0200 ALSA: usb-audio: dynamic detection of MIDI interfaces in uaxx-quirk The MIDI interfaces have to be detected dynamically for Edirol devices ua-700, ua-25 and ua4-fx. This patch reverses the wrong changes made by my other patch in uaxx-quirk. Signed-off-by: Pedro Lopez-Cabanillas Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 52948b3f7c481be2cd3a68d1db42dd6906bf853a Author: Takashi Iwai Date: Tue Oct 7 16:13:59 2008 +0200 ALSA: Add a note on dependency of RTC stuff Added a note on the dependency of old RTC stuff, which is exclusive with the new RTC class drivers. http://bugme.linux-foundation.org/show_bug.cgi?id=11430 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cb01e2b99264d579085c63966744d91b87c6b35d Author: Richard Zhao Date: Tue Oct 7 08:05:20 2008 +0800 ALSA: ASoC: add new param mux to dapm_mux_update_power Function dapm_mux_update_power needs enum index mux and register mask value val as parameters, but it only has a parameter val, and uses it as both val and mux. snd_soc_test_bits(widget->codec, e->reg, mask, val) val is register mask here, e->texts[val] but val should be enum index mux here. This patch adds a new param mux to fix it. Signed-off-by: Richard Zhao Signed-off-by: Mark Brown Signed-off-by: Jaroslav Kysela commit ff33f2303b0ea8e5ac15af91de8d8538a5d58db1 Author: Takashi Iwai Date: Tue Oct 7 11:38:09 2008 +0200 ALSA: Increase components array size Increase the card components[] (and thus snd_card_info.components[], too) array size from 80 to 128 chars so that more strings can be stored. The 80 chars aren't enough for more than 2 HD-audio codecs, and this hits an ugly snd_BUG() as reported by Wu Fegguang for HP 2230s. The control protocol number is increased to 2.0.6 as well, in case it matters. Reported-by: Wu Fengguang Acked-by: Jaroslav Kysela Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8ae23ec3ab305b58140462234bddf2257af57bae Author: Mark Brown Date: Mon Oct 6 11:33:21 2008 +0100 ALSA: ASoC: Correct inverted Mic PGA Switch control in wm8510 driver Mic PGA Switch should be inverted in the WM8510 driver but isn't. Reported-by: ext-jukka.hynninen@vaisala.com Signed-off-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 6b34500c1ce9707b77ba1631bb21c8a1dea060bd Author: Wu Fengguang Date: Tue Oct 7 14:21:41 2008 +0800 ALSA: hda: comment typo fix fix a typo in comment for is_in_nid_list(). Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 5c1d1a98c5e20ba517369d15995464a10add9132 Author: Wu Fengguang Date: Tue Oct 7 14:17:53 2008 +0800 ALSA: hda: comment typo fix fix a typo in comment for process_unsol_events(). Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 238713d4891468f7942f7670d22ab44af0943a4b Author: Takashi Iwai Date: Sun Oct 5 10:57:39 2008 +0200 ALSA: hda - Fix PCI SSID for ASROCK K18N78FullHD-hSLI The PCI SSID for ASROCK mobo in commit ac56445dd6a38a36c2fa91989f5f6220a9bdf97c is wrong. This patch fixes to the correct one, 1849:3662. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 310e0dc01d15f6e792a54f971dc7b1e13d1c6e95 Author: Pedro Lopez-Cabanillas Date: Sat Oct 4 16:27:36 2008 +0200 ALSA: snd-usb-audio: support for Edirol UA-4FX device Renamed the old quirk function for ua-700/ua-25 to become more generic, moving the MIDI interfaces to the quirk data header. Added a new quirk for the Edirol UA-4FX. Signed-off-by: Pedro Lopez-Cabanillas Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7a17daae8ed71bf3259d905a4fc48a5b424fa935 Author: Takashi Iwai Date: Thu Oct 2 14:50:22 2008 +0200 ALSA: usb - Fix possible Oops at USB-MIDI disconnection The endpoints should be released immediately at disconnection rather than the delayed release. This could be a reason of Oops at USB-audio device disconnection being used. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 669faba27f2f7b04b9228d20e30e7f584f0becd5 Author: Clive Messer Date: Tue Sep 30 15:49:13 2008 +0200 ALSA: hda - Fix another ALC889A (rev 0x100101) ALC889A hardware (id 0x10ec0885 rev 0x100101) to use patch_alc883 Signed-off-by: Clive Messer Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 19c009aad0ddeaa6a4ba41577022301f18d43afa Author: Vedran Miletic Date: Mon Sep 29 20:29:25 2008 +0200 ALSA: hda: add more board-specific information for Realtek ALC662 rev1 I recently got a chance to play with two boards with ALC662 rev1: * BIOSTAR TA780G M2+ * ASROCK K10N78FullHD-hSLI R3.0 Both use 3 stack, 6ch mode with digital out. Since autodetection isn't able to figure that out from BIOS, we need to specify that manually. Signed-off-by: Vedran Miletic Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit d6b52039c95556ade5c4f99592a0dc46473fbf93 Author: Vladimir Barinov Date: Mon Sep 29 23:14:11 2008 +0400 ALSA: Correct Vladimir Barinov's e-mail address Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b636a1d947c7f1bb0e0a157663e08ce3e49b2e52 Author: Vedran Miletic Date: Mon Sep 29 15:08:00 2008 +0200 ALSA: cs46xx: Add PCI IDs for TerraTec and Hercules cards This patch adds PCI IDs for: * TerraTec DMX XFire 1024 * Hercules Gamesurround Fortissimo II * Hercules Gamesurround Fortissimo III 7.1 All those cards were supported as generic CS46xx device, so they will work as before. I'm pretty sure that first two cards work, as they have same hardware design as reference card. Not sure about Fortissimo III, but this won't break it if it worked. Tested on TerraTec DMX XFire 1024. Signed-off-by: Vedran Miletic Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 00ef50c242f05381cd3fbf56bbda28155cbbb7c8 Author: Matthew Ranostay Date: Sat Sep 27 18:13:47 2008 -0400 ALSA: hda: SPDIF stream muting support Added support for muting S/DPIF outs using the 'Digital Playback Source' muxs on supporting codecs. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f3911c5ab93e4295938b2013104d2986ea601454 Author: Peter Korsgaard Date: Sat Sep 27 09:13:45 2008 +0200 ALSA: hda: appletv support The AppleTV needs the same handling as the 24" iMac. Signed-off-by: Peter Korsgaard Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 95fe5f2cec831d73ee93227810ab95d05ced3416 Author: Herton Ronaldo Krzesinski Date: Fri Sep 26 23:48:45 2008 -0300 ALSA: hda - Map ALC662 model for Foxconn 45CMX/45GMX/45CMX-K Use 3stack-6ch-dig ALC662 model for Foxconn 45CMX/45GMX/45CMX-K motherboard. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit cb55974cb461ff9c9c0675b2a8361d387212b64f Author: Herton Ronaldo Krzesinski Date: Fri Sep 26 23:47:45 2008 -0300 ALSA: hda - Map ALC662 model for Gigabyte 945GCM-S2L Use 3stack-6ch-dig ALC662 model for Gigabyte 945GCM-S2L motherboard. Signed-off-by: Herton Ronaldo Krzesinski Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 71dc525c5d480397ac7343a0a2808f8a23705d42 Author: Julien Brunel Date: Fri Sep 26 15:23:46 2008 +0200 ALSA: sound/soc/at32: Useless NULL test The test (ssc != NULL) can only be reached if the call to the function ssc_request, the result of which ssc is assigned, succeeds. Moreover, two statements assign NULL to ssc just before a return, which is useless since it is a local variable. So, we suggest to delete the test and the two assignments. A simplified version of the semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @bad_null_test@ expression x,E; @@ x = ssc_request(...) ... when != x = E * x != NULL // Signed-off-by: Julien Brunel Signed-off-by: Julia Lawall Acked-by: Mark Brown Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9a9e2359f484402c620f9a3748037fea65fa5af4 Author: Matthew Ranostay Date: Fri Sep 26 10:37:03 2008 -0400 ALSA: hda: HP laptop quirk Added HP laptop SND_PCI_QUIRK for STAC_HP_M4. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b2c4f4d71f7a161630681678cbba84bd695bfd1e Author: Matthew Ranostay Date: Fri Sep 26 10:06:40 2008 -0400 ALSA: hda: 92xx S/PDIF In support Add support for S/PDIF IN on reference boards quirks. Also disable the IEC958 capture switch on boards with GPIO0 enabled. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 97c889a78b70f0ac0949967bf174d1a6a28bfb5c Author: Eran Tromer Date: Fri Sep 26 01:07:03 2008 -0400 ALSA: usb-audio: add support for E-Mu Tracker Pre Add support for the E-Mu "Tracker Pre" USB sound card, following the example of the (very similar) E-Mu 0202 and E-Mu 0404 USB. As with the 0202 and 0404 USB, functionality is very limited: just a couple of sample rates, no volume/mute control, etc. Signed-off-by: Eran Tromer Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit dc9c8e218da823008ce1572998902a4bdf46af37 Author: Wei Ni Date: Fri Sep 26 13:55:56 2008 +0800 ALSA: Fix for reading RIRB buffer on NVIDIA aza controller with AMD Phenom cpu When read RIRB buffer immediately after RIRB interrupt received, sometimes the data will be "0x0". If we wait for some time, the data in buffer will be correct. This issue only occurred with AMD Phenom cpu. So we set this "needs_damn_long_delay" flag. Signed-off-by: Wei Ni Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9a10eb21e1e1c389a8cea3016157a7f471512645 Author: Wei Ni Date: Fri Sep 26 13:45:46 2008 +0800 ALSA: Support NVIDIA MCP78/7A HDMI audio Add NVIDIA HDMI HD-audio codec support in snd-hda-intel driver, include NVIDIA MCP78/7A HDMI. Signed-off-by: Wei Ni Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2f72853ca1ee1571377996471d05db51eb7c54c4 Author: Takashi Iwai Date: Thu Sep 25 16:32:41 2008 +0200 ALSA: hda - Fix / clean-up slave digital out codes The recent slave_dig_out addition has some rooms to clean up. Also it doesn't call snd_hda_cleanup_stream() properly for slaves at closing. The patch fixes both issues. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit ddc0f38a62083a552d6acb792d9ce513cf4081df Author: Matthew Ranostay Date: Thu Sep 25 09:17:11 2008 -0400 ALSA: hda: slave_dig_outs code block in wrong location Removed invalid references to slave_dig_outs inside the S/PDIF IN capture switch control. Beforehand this was basically a mute switch for the S/PDIF outs as well. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 37c34ffb3a9a6051236a4ee1acb7752bcc3f50fd Author: Takashi Iwai Date: Wed Sep 24 09:59:44 2008 +0200 ALSA: intel8x0 - Add quirk for Fujitsu Lifebook P7010 Fujitsu Lifebook P7010 requires ac97_quirk=hp_only. http://bugzilla.kernel.org/show_bug.cgi?id=9100 Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a99606d25eb6981e13d332e18774e203ded66709 Author: Takashi Iwai Date: Wed Sep 24 09:44:18 2008 +0200 ALSA: Remove bitwise from snd_pcm_hw_param_t We have some arithmetic operations against snd_pcm_hw_param_t, thus bitwise isn't correct for it. Better to remove the flag to shut up sparse warnings. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit fedb7569100ac858bea7954d82c74e5561bf2c03 Author: Matthew Ranostay Date: Tue Sep 23 21:46:30 2008 -0400 ALSA: hda: use last DAC defined for hp_pin Patch allows the last DAC in the dac_nids for the hp_nid if there is an available one this isn't in use by a line_out entry or if hp_nid isn't already defined. This solves the issues with the 'Headphone Playback' mixer controls on the 92hd73xxx branch and possibly others. Signed-off-by: Matthew Ranostay Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit b911e473d24633c19414b54b82b9ff0b1a2419d7 Author: Randy Dunlap Date: Fri Oct 10 08:22:44 2008 +0200 doc/cdrom: Trvial documentation error, file not present The sbpcd tester program is not included in the kernel source tree, so remove the reference to it. Signed-off-by: Randy Dunlap Reported-by: Nick Warne Signed-off-by: Jens Axboe commit 55ed31e62d18094337319b942b38cfc00360444b Author: David S. Miller Date: Thu Oct 9 22:13:53 2008 -0700 enic: Attempt to fix build in 32-bit such as i386. Such platforms lack readq/writeq but this driver want to call them. Noticed by Andrew Morton. Signed-off-by: David S. Miller commit fa3e5b4eb8261ae6ee27922881093db973e9d640 Author: Guo-Fu Tseng Date: Thu Oct 9 21:11:56 2008 -0700 tcpv6: fix error with CONFIG_TCP_MD5SIG disabled This patch fix error with CONFIG_TCP_MD5SIG disabled. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit bb21c95e2d3325fcb53c591686dbbf4068a165bc Author: Guo-Fu Tseng Date: Thu Oct 9 21:10:36 2008 -0700 nf_conntrack_ecache.h: Fix missing braces This patch add missing braces of today's net-next-2.6: include/net/netfilter/nf_conntrack_ecache.h Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit eedd5d0a707a8ad704e03bda5fbfe6b1a8e5f028 Merge: a7e80ce... c752c78... b9012e0... e441d63... 943c246... 7097228... cd86f42... d57f5f7... 208dde2... fbcffcc... Author: Roland Dreier Date: Thu Oct 9 17:41:15 2008 -0700 Merge branches 'cma', 'cxgb3', 'ehca', 'ipath', 'ipoib', 'mad', 'misc', 'mlx4', 'mthca' and 'nes' into for-next commit fbcffcc6a0536544fa53cd5bd5c4913efe1a5982 Author: Chien Tung Date: Thu Oct 9 17:41:05 2008 -0700 RDMA/nes: Fix slab corruption Referencing cm_node after it is freed via rem_ref_cm_node() causes a slab corruption. There is no need to set cm_node->cm_id to NULL in mini_cm_close(). Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 9ac684fc38cf17fbd25c0c9e388713c5ddfa3b14 Merge: 3fa8749... 81990fb... Author: James Morris Date: Fri Oct 10 11:09:47 2008 +1100 Merge branch 'next' into for-linus commit 13c9821ea49be153ea74e5987cf6955871d7b124 Author: David S. Miller Date: Thu Oct 9 16:40:29 2008 -0700 ppp: Use skb_queue_walk() in ppp_mp_insert(). Instead of open-coded version. Signed-off-by: David S. Miller commit f24d43c07e208372aa3d3bff419afbf43ba87698 Author: Eric Dumazet Date: Thu Oct 9 14:51:27 2008 -0700 udp: complete port availability checking While looking at UDP port randomization, I noticed it was litle bit pessimistic, not looking at type of sockets (IPV6/IPV4) and not looking at bound addresses if any. We should perform same tests than when binding to a specific port. This permits a cleanup of udp_lib_get_port() Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 626e264dd1989bdc98a5eaf2e059af4dba07ac4f Author: Ilpo Järvinen Date: Thu Oct 9 14:42:40 2008 -0700 tcpv6: combine tcp_v6_send_(reset|ack) $ codiff tcp_ipv6.o.old tcp_ipv6.o.new net/ipv6/tcp_ipv6.c: tcp_v6_md5_hash_hdr | -144 tcp_v6_send_ack | -585 tcp_v6_send_reset | -540 3 functions changed, 1269 bytes removed, diff: -1269 net/ipv6/tcp_ipv6.c: tcp_v6_send_response | +791 1 function changed, 791 bytes added, diff: +791 tcp_ipv6.o.new: 4 functions changed, 791 bytes added, 1269 bytes removed, diff: -478 I choose to leave the reset related netns comment in place (not the one that is killed) as I cannot understand its English so it's a bit hard for me to evaluate its usefulness :-). Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 81ada62d70060023923f46ab666cdc2970e1e0ce Author: Ilpo Järvinen Date: Thu Oct 9 14:42:01 2008 -0700 tcpv6: convert opt[] -> topt in tcp_v6_send_reset after this I get: $ diff-funcs tcp_v6_send_reset tcp_ipv6.c tcp_ipv6.c tcp_v6_send_ack --- tcp_ipv6.c:tcp_v6_send_reset() +++ tcp_ipv6.c:tcp_v6_send_ack() @@ -1,4 +1,5 @@ -static void tcp_v6_send_reset(struct sock *sk, struct sk_buff *skb) +static void tcp_v6_send_ack(struct sk_buff *skb, u32 seq, u32 ack, u32 win, u32 ts, + struct tcp_md5sig_key *key) { struct tcphdr *th = tcp_hdr(skb), *t1; struct sk_buff *buff; @@ -7,31 +8,14 @@ struct sock *ctl_sk = net->ipv6.tcp_sk; unsigned int tot_len = sizeof(struct tcphdr); __be32 *topt; -#ifdef CONFIG_TCP_MD5SIG - struct tcp_md5sig_key *key; -#endif - - if (th->rst) - return; - - if (!ipv6_unicast_destination(skb)) - return; + if (ts) + tot_len += TCPOLEN_TSTAMP_ALIGNED; #ifdef CONFIG_TCP_MD5SIG - if (sk) - key = tcp_v6_md5_do_lookup(sk, &ipv6_hdr(skb)->daddr); - else - key = NULL; - if (key) tot_len += TCPOLEN_MD5SIG_ALIGNED; #endif - /* - * We need to grab some memory, and put together an RST, - * and then put it into the queue to be sent. - */ - buff = alloc_skb(MAX_HEADER + sizeof(struct ipv6hdr) + tot_len, GFP_ATOMIC); if (buff == NULL) @@ -46,18 +30,20 @@ t1->dest = th->source; t1->source = th->dest; t1->doff = tot_len / 4; - t1->rst = 1; - - if(th->ack) { - t1->seq = th->ack_seq; - } else { - t1->ack = 1; - t1->ack_seq = htonl(ntohl(th->seq) + th->syn + th->fin - + skb->len - (th->doff<<2)); - } + t1->seq = htonl(seq); + t1->ack_seq = htonl(ack); + t1->ack = 1; + t1->window = htons(win); topt = (__be32 *)(t1 + 1); + if (ts) { + *topt++ = htonl((TCPOPT_NOP << 24) | (TCPOPT_NOP << 16) | + (TCPOPT_TIMESTAMP << 8) | TCPOLEN_TIMESTAMP); + *topt++ = htonl(tcp_time_stamp); + *topt++ = htonl(ts); + } + #ifdef CONFIG_TCP_MD5SIG if (key) { *topt++ = htonl((TCPOPT_NOP << 24) | (TCPOPT_NOP << 16) | @@ -84,15 +70,10 @@ fl.fl_ip_sport = t1->source; security_skb_classify_flow(skb, &fl); - /* Pass a socket to ip6_dst_lookup either it is for RST - * Underlying function will use this to retrieve the network - * namespace - */ if (!ip6_dst_lookup(ctl_sk, &buff->dst, &fl)) { if (xfrm_lookup(&buff->dst, &fl, NULL, 0) >= 0) { ip6_xmit(ctl_sk, buff, &fl, NULL, 0); TCP_INC_STATS_BH(net, TCP_MIB_OUTSEGS); - TCP_INC_STATS_BH(net, TCP_MIB_OUTRSTS); return; } } ...which starts to be trivial to combine. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 77c676da1b717eed7239144fb539dfc4c7b78e04 Author: Ilpo Järvinen Date: Thu Oct 9 14:41:38 2008 -0700 tcpv6: trivial formatting changes to send_(ack|reset) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 78e645cb890b0f32ea81a974e29427d9cd2f64f0 Author: Ilpo Järvinen Date: Thu Oct 9 14:37:47 2008 -0700 tcpv[46]: fix md5 pseudoheader address field ordering Maybe it's just me but I guess those md5 people made a mess out of it by having *_md5_hash_* to use daddr, saddr order instead of the one that is natural (and equal to what csum functions use). For the segment were sending, the original addresses are reversed so buff's saddr == skb's daddr and vice-versa. Maybe I can finally proceed with unification of some code after fixing it first... :-) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit df58ef51caea073f4b45857c51f445f65267dac7 Author: Francois Romieu Date: Thu Oct 9 14:35:58 2008 -0700 r8169: fix early spinlock use rtl8169_init_one -> rtl_init_mac_address -> rtl_rar_set -> spin_lock_irq(&tp->lock); [...] -> spin_lock_init(&tp->lock); Signed-off-by: Francois Romieu Signed-off-by: David S. Miller commit 1d74a6bddf647285e7aa4e9ca4ec16eb071dfd95 Author: Steve Glendinning Date: Thu Oct 9 14:34:47 2008 -0700 smsc95xx: fix usb usage on big endian platforms Fix warnings caught by David Miller on sparc64 Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit a1080a8b0bc301c223c4bf0cea4c5e42f43dcf58 Author: Vlad Yasevich Date: Thu Oct 9 14:33:26 2008 -0700 sctp: update SNMP statiscts when T5 timer expired. The T5 timer is the timer for the over-all shutdown procedure. If this timer expires, then shutdown procedure has not completed and we ABORT the association. We should update SCTP_MIB_ABORTED and SCTP_MIB_CURRESTAB when aborting. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 56eb82bb8d2cdd8d9f4838eaa109df41d7164ca5 Author: Vlad Yasevich Date: Thu Oct 9 14:33:01 2008 -0700 sctp: Fix SNMP number of SCTP_MIB_ABORTED during violation handling. If ABORT chunks require authentication and a protocol violation is triggered, we do not tear down the association. Subsequently, we should not increment SCTP_MIB_ABORTED. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 3d5a019d5761a40465337711ae7d2beb1e9b43ec Author: Wei Yongjun Date: Thu Oct 9 14:32:24 2008 -0700 sctp: Fix the SNMP number of SCTP_MIB_CURRESTAB RFC3873 defined SCTP_MIB_CURRESTAB: sctpCurrEstab OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of associations for which the current state is either ESTABLISHED, SHUTDOWN-RECEIVED or SHUTDOWN-PENDING." REFERENCE "Section 4 in RFC2960 covers the SCTP Association state diagram." If the T4 RTO timer expires many times(timeout), the association will enter CLOSED state, so we should dec the number of SCTP_MIB_CURRESTAB, not inc the number of SCTP_MIB_CURRESTAB. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 5c714e238e5e0eb74cdc74201bf3d6296b3b3104 Author: Brice Goglin Date: Thu Oct 9 14:31:42 2008 -0700 myri10ge: remove over-paranoid queue number modulus No need to modulus the queue number in ->hard_start_xmit() since the core is going to do that for you modulus ->real_num_tx_queues. Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit 3ed30676f5bc9960c67644fa37c5fdc36ae47b5b Author: Dave Graham Date: Thu Oct 9 14:29:26 2008 -0700 e1000: don't generate bad checksums for tcp packets with 0 csum When offloading transmit checksums only, the driver was not correctly configuring the hardware to handle the case of a zero checksum. For UDP the correct behavior is to leave it alone, but for tcp the checksum must be changed from 0x0000 to 0xFFFF. The hardware takes care of this case but only if it is told the packet is tcp. same patch as e1000e Signed-off-by: Dave Graham Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit af807c82978ec1b8c5120b59b78ef951b3e4603b Author: Dave Graham Date: Thu Oct 9 14:28:58 2008 -0700 e1000e: don't generate bad checksums for tcp packets with 0 csum When offloading transmit checksums only, the driver was not correctly configuring the hardware to handle the case of a zero checksum. For UDP the correct behavior is to leave it alone, but for tcp the checksum must be changed from 0x0000 to 0xFFFF. The hardware takes care of this case but only if it is told the packet is tcp. Signed-off-by: Dave Graham Signed-off-by: Jesse Brandeburg Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller commit 6defd90433729c2d795865165cb34d938d8ff07c Merge: c97f681... 99c6bb3... Author: Russell King Date: Thu Oct 9 21:33:07 2008 +0100 Merge branch 'for-rmk' of git://git.marvell.com/orion Merge branch 'orion-devel' into devel commit c97f68145e8067b3ac4b126a6faebf90f9ffc302 Merge: b1add04... 7bff3c4... Author: Russell King Date: Thu Oct 9 21:33:05 2008 +0100 Merge branch 'for-rmk' of git://source.mvista.com/git/linux-davinci-2.6.git Merge branch 'davinci' into devel commit b1add0480a95b6ceaece5caf6c50614771eae9b2 Merge: 3f30a09... 58a85f4... Author: Russell King Date: Thu Oct 9 21:33:03 2008 +0100 Merge branch 'for-rmk' of git://pasiphae.extern.pengutronix.de/git/imx/linux-2.6.git Merge branch 'imx-devel' into devel commit 3f30a09a612bac2b531a206c2a58a292dd7ff182 Merge: 9e165ac... fda50a1... Author: Russell King Date: Thu Oct 9 21:33:02 2008 +0100 Merge branch 'pxa-all' into devel Conflicts: arch/arm/mach-pxa/Kconfig arch/arm/mach-pxa/corgi.c arch/arm/mach-pxa/include/mach/hardware.h arch/arm/mach-pxa/spitz.c commit 9e165acf1b9e37af7c0fa39399b43d0bd8600039 Merge: 6a4690c... 791ccf2... Author: Russell King Date: Thu Oct 9 21:31:58 2008 +0100 Merge branch 'at91' into devel commit 6a4690c22f5da1eb1c898b61b6a80da52fbd976f Merge: 90bb28b... 8ec5366... Author: Russell King Date: Thu Oct 9 21:31:56 2008 +0100 Merge branch 'ptebits' into devel Conflicts: arch/arm/Kconfig commit 90bb28b0644f7324f8bd1feb27b35146e6785ba2 Merge: b4ffb0e... 3bca103... 446b097... 8e6c81f... 0ac4ed9... bda0308... Author: Russell King Date: Thu Oct 9 21:31:54 2008 +0100 Merge branches 'machtypes', 'core', 'ep93xx', 'ks8695', 'netdev' and 'sa1100' into devel commit 3bca103a1e658d23737d20e1989139d9ca8973bf Author: Nicolas Pitre Date: Tue Oct 7 20:14:55 2008 +0100 [ARM] 5295/1: make ZONE_DMA optional Most ARM machines don't need a special "DMA" memory zone, and when configured out, the kernel becomes a bit smaller: | text data bss dec hex filename |3826182 102384 111700 4040266 3da64a vmlinux |3823593 101616 111700 4036909 3d992d vmlinux.nodmazone This is because the system now has only one zone total which effect is to optimize away many conditionals in page allocation paths. So let's configure this zone only on machines that need split zones. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit ec7e6fabbe72f1fe65eed14c106a0fbc00f6c2f1 Author: Michael Chan Date: Thu Oct 9 12:27:06 2008 -0700 bnx2: Update version to 1.8.1. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 3d16af8665504c89f9ef3aae56f54fb93e48da61 Author: Benjamin Li Date: Thu Oct 9 12:26:41 2008 -0700 bnx2: Handle DMA mapping errors. Before, the driver would not care about the return codes from pci_map_* functions. This could be potentially dangerous if a mapping failed. Now, we will check all pci_map_* calls. On the transmit side, we switch to use the new function skb_dma_map(). On the receive side, we add pci_dma_mapping_error(). Signed-off-by: Benjamin Li Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a1efb4b686babf38e5e63add8b990f18e38becc4 Author: Michael Chan Date: Thu Oct 9 12:24:39 2008 -0700 bnx2: Eliminate TSO header modifications. This is now possible with updated firmware. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit d5321e309c2fd1a1d534fc7bb674a1fff9f25d94 Author: Michael Chan Date: Thu Oct 9 12:22:38 2008 -0700 bnx2: Update 5706/5708 firmware. With this new firmware, the driver no longer has to modify the TCP/IP header fields when transmitting TSO packets. Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9f52b564b7162ede5a73a4f4b421ccf93c55b025 Author: Michael Chan Date: Thu Oct 9 12:21:46 2008 -0700 bnx2: Check netif_running() in all ethtool operations. We need to check netif_running() state in most ethtool operations and properly handle the !netif_running() state where the chip is in an uninitailzed state or low power state that may not accept any MMIO. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 74bf4ba3d367aacbc04fef167289767f162cd730 Author: Michael Chan Date: Thu Oct 9 12:21:08 2008 -0700 bnx2: Add bnx2_shutdown_chip(). This logic is used in bnx2_close() and bnx2_suspend() and so should be separated out into a separate function. Signed-off-by: Michael Chan Signed-off-by: Benjamin Li Signed-off-by: Matt Carlson Signed-off-by: David S. Miller commit 64194c31a0b6f5d84703b772113aafc400eeaad6 Author: Herbert Xu Date: Thu Oct 9 12:03:17 2008 -0700 inet: Make tunnel RX/TX byte counters more consistent This patch makes the RX/TX byte counters for IPIP, GRE and SIT more consistent. Previously we included the external IP headers on the way out but not when the packet is inbound. The new scheme is to count payload only in both directions. For IPIP and SIT this simply means the exclusion of the external IP header. For GRE this means that we exclude the GRE header as well. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit e1a8000228e16212c93b23cfbed4d622e2ec7a6b Author: Herbert Xu Date: Thu Oct 9 12:00:17 2008 -0700 gre: Add Transparent Ethernet Bridging This patch adds support for Ethernet over GRE encapsulation. This is exposed to user-space with a new link type of "gretap" instead of "gre". It will create an ARPHRD_ETHER device in lieu of the usual ARPHRD_IPGRE. Note that to preserver backwards compatibility all Transparent Ethernet Bridging packets are passed to an ARPHRD_IPGRE tunnel if its key matches and there is no ARPHRD_ETHER device whose key matches more closely. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c19e654ddbe3831252f61e76a74d661e1a755530 Author: Herbert Xu Date: Thu Oct 9 11:59:55 2008 -0700 gre: Add netlink interface This patch adds a netlink interface that will eventually displace the existing ioctl interface. It utilises the elegant rtnl_link_ops mechanism. This also means that user-space no longer needs to rely on the tunnel interface being of type GRE to identify GRE tunnels. The identification can now occur using rtnl_link_ops. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 42aa916265d740d66ac1f17290366e9494c884c2 Author: Herbert Xu Date: Thu Oct 9 11:59:32 2008 -0700 gre: Move MTU setting out of ipgre_tunnel_bind_dev This patch moves the dev->mtu setting out of ipgre_tunnel_bind_dev. This is in prepartion of using rtnl_link where we'll need to make the MTU setting conditional on whether the user has supplied an MTU. This also requires the move of the ipgre_tunnel_bind_dev call out of the dev->init function so that we can access the user parameters later. This patch also adds a check to prevent setting the MTU below the minimum of 68. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit c95b819ad75b13102139aad0e7062d927be23cc6 Author: Herbert Xu Date: Thu Oct 9 11:58:54 2008 -0700 gre: Use needed_headroom Now that we have dev->needed_headroom, we can use it instead of having a bogus dev->hard_header_len. This also allows us to include dev->hard_header_len in the MTU computation so that when we do have a meaningful hard_harder_len in future it is included automatically in figuring out the MTU. Incidentally, this fixes a bug where we ignored the needed_headroom field of the underlying device in calculating our own hard_header_len. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 4f6e6b9f97b0ce98a8d1da65adbaf743bd0486a9 Author: Andrea Righi Date: Thu Sep 18 10:43:40 2008 +0000 [CPUFREQ] Fix BUG: using smp_processor_id() in preemptible code Use get_cpu()/put_cpu() in cpufreq_ondemand init routine, instead of smp_processor_id() to avoid the following BUG: [ 35.313118] BUG: using smp_processor_id() in preemptible [00000000] code=: modprobe/4952 [ 35.313132] caller is cpufreq_gov_dbs_init+0xa/0x8f [cpufreq_ondemand] [ 35.313140] Pid: 4952, comm: modprobe Not tainted 2.6.27-rc5-mm1 #23 [ 35.313145] Call Trace: [ 35.313158] [] debug_smp_processor_id+0xd7/0xe0 [ 35.313167] [] cpufreq_gov_dbs_init+0xa/0x8f [cpufreq_ondemand] [ 35.313176] [] _stext+0x3b/0x160 [ 35.313185] [] __mutex_unlock_slowpath+0xe5/0x190 [ 35.313195] [] trace_hardirqs_on_caller+0xca/0x140 [ 35.313205] [] sys_init_module+0xdc/0x210 [ 35.313212] [] system_call_fastpath+0x16/0x1b Signed-off-by: Andrea Righi Signed-off-by: Dave Jones commit c4d14bc0bb5d13e316890651ae4518b764c3344c Author: Sven Wegener Date: Sat Sep 20 16:50:08 2008 +0200 [CPUFREQ] Don't export governors for default governor We don't need to export the governors for use as the default governor, because the default governor will be built-in anyway and we can access the symbol directly. This also fixes the following sparse warnings: drivers/cpufreq/cpufreq_conservative.c:578:25: warning: symbol 'cpufreq_gov_conservative' was not declared. Should it be static? drivers/cpufreq/cpufreq_ondemand.c:582:25: warning: symbol 'cpufreq_gov_ondemand' was not declared. Should it be static? drivers/cpufreq/cpufreq_performance.c:39:25: warning: symbol 'cpufreq_gov_performance' was not declared. Should it be static? drivers/cpufreq/cpufreq_powersave.c:38:25: warning: symbol 'cpufreq_gov_powersave' was not declared. Should it be static? drivers/cpufreq/cpufreq_userspace.c:190:25: warning: symbol 'cpufreq_gov_userspace' was not declared. Should it be static? Signed-off-by: Sven Wegener Signed-off-by: Dave Jones commit 808009131046b62ac434dbc796c0fe8accaab415 Author: venkatesh.pallipadi@intel.com Date: Mon Aug 4 11:59:12 2008 -0700 [CPUFREQ][6/6] cpufreq: Add idle microaccounting in ondemand governor Use get_cpu_idle_time_us() to get micro-accounted idle information. This enables ondemand to get more accurate idle and busy timings than the jiffy based calculation. As a result, we can decrease the ondemand safety gaurd band from 80-10 to 95-3. Results in more aggressive power savings. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 8083e4ad970e4eb567e31037060cdd4ba346f0c0 Author: venkatesh.pallipadi@intel.com Date: Mon Aug 4 11:59:11 2008 -0700 [CPUFREQ][5/6] cpufreq: Changes to get_cpu_idle_time_us(), used by ondemand governor export get_cpu_idle_time_us() for it to be used in ondemand governor. Last update time can be current time when the CPU is currently non-idle, accounting for the busy time since last idle. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit e9d95bf7eb929b9ddc9af9f4327b76c77ed4c7d6 Author: venkatesh.pallipadi@intel.com Date: Mon Aug 4 11:59:10 2008 -0700 [CPUFREQ][4/6] cpufreq_ondemand: Parameterize down differential Use a parameter for down differential, instead of hardcoded 10%. Follow-on patch changes the down-differential dynamically, based on whether we are using idle micro-accounting or not. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 3430502d356284ff4f7782d75bb01a402fd3d45e Author: venkatesh.pallipadi@intel.com Date: Mon Aug 4 11:59:09 2008 -0700 [CPUFREQ][3/6] cpufreq: get_cpu_idle_time() changes in ondemand for idle-microaccounting Preparatory changes for doing idle micro-accounting in ondemand governor. get_cpu_idle_time() gets extra parameter and returns idle time and also the wall time that corresponds to the idle time measurement. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit c43aa3bd99a67009a167430e80c5fde6f37288d8 Author: venkatesh.pallipadi@intel.com Date: Mon Aug 4 11:59:08 2008 -0700 [CPUFREQ][2/6] cpufreq: Change load calculation in ondemand for software coordination Change the load calculation algorithm in ondemand to work well with software coordination of frequency across the dependent cpus. Multiply individual CPU utilization with the average freq of that logical CPU during the measurement interval (using getavg call). And find the max CPU utilization number in terms of CPU freq. That number is then used to get to the target freq for next sampling interval. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit bf0b90e357c883e8efd72954432efe652de74c76 Author: venkatesh.pallipadi@intel.com Date: Mon Aug 4 11:59:07 2008 -0700 [CPUFREQ][1/6] cpufreq: Add cpu number parameter to __cpufreq_driver_getavg() Add a cpu parameter to __cpufreq_driver_getavg(). This is needed for software cpufreq coordination where policy->cpu may not be same as the CPU on which we want to getavg frequency. A follow-on patch will use this parameter to getavg freq from all cpus in policy->cpus. Change since last patch. Fix the offline/online and suspend/resume oops reported by Youquan Song Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones commit 8217e4f4c93e5fb59bb3cd1e6135213889349f86 Author: Ben Slusky Date: Mon Jul 7 13:16:20 2008 -0400 [CPUFREQ] use deferrable delayed work init in conservative governor Venki Pallipadi made a similar change to the ondemand governor a while back (in commit 28287033e12463c8ff89f1ea8038783d0360391c). It seems to work just as well in the conservative governor, leading to fewer wakeups as reported by powertop. Signed-off-by: Ben Slusky Signed-off-by: Dave Jones commit f1829e4a371f26430185a9d5b97b8d9d19824e08 Author: Julia Lawall Date: Fri Jul 25 22:44:53 2008 +0200 [CPUFREQ] drivers/cpufreq/cpufreq.c: Adjust error handling code involving cpufreq_cpu_put After calling cpufreq_cpu_get, error handling code should call cpufreq_cpu_put. The semantic match that finds this problem is as follows: (http://www.emn.fr/x-info/coccinelle/) // @r@ expression x,E; statement S; position p1,p2,p3; @@ ( if ((x = cpufreq_cpu_get@p1(...)) == NULL || ...) S | x = cpufreq_cpu_get@p1(...) ... when != x if (x == NULL || ...) S ) <... if@p3 (...) { ... when != cpufreq_cpu_put(x) when != if (x) { ... cpufreq_cpu_put(x); ...} return@p2 ...; } ...> ( return x; | return 0; | x = E | E = x | cpufreq_cpu_put(x) ) @exists@ position r.p1,r.p2,r.p3; expression x; int ret != 0; statement S; @@ * x = cpufreq_cpu_get@p1(...) <... * if@p3 (...) S ...> * return@p2 \(NULL\|ret\); // Signed-off-by: Julia Lawall Signed-off-by: Dave Jones commit 888a794cacd8950ac6be701db20b62a4ab2ce90c Author: Akinobu Mita Date: Mon Jul 14 12:00:45 2008 +0900 [CPUFREQ] add error handling for cpufreq_register_governor() error Add error handling for cpufreq_register_governor() error Signed-off-by: Akinobu Mita Cc: cpufreq@lists.linux.org.uk Signed-off-by: Dave Jones commit 847aef6ffd85787b62395b64719f8f7c5975bf1b Author: Akinobu Mita Date: Mon Jul 14 11:59:44 2008 +0900 [CPUFREQ] acpi-cpufreq: add error handling for cpufreq_register_driver() error add error handling for cpufreq_register_driver() error Signed-off-by: Akinobu Mita Cc: cpufreq@lists.linux.org.uk Signed-off-by: Dave Jones commit 8d2d2051e50c4ca0207a42b243369e22f7d90a5c Author: Paolo Ciarrocchi Date: Mon Jul 28 21:08:16 2008 +0200 [CPUFREQ] Coding style fixes to arch/x86/kernel/cpu/cpufreq/powernow-k6.c Before: total: 11 errors, 15 warnings, 255 lines checked After: total: 0 errors, 6 warnings, 254 lines checked paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/powernow-k6.o.* 476932f5e1ffe365db9d1dfb3f860369 /tmp/powernow-k6.o.after 476932f5e1ffe365db9d1dfb3f860369 /tmp/powernow-k6.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Dave Jones commit 18c6faa9624bf5d9d7da3906a8a1b909dba5899b Author: Paolo Ciarrocchi Date: Mon Jul 28 13:00:49 2008 +0200 [CPUFREQ] Coding style fixes to arch/x86/kernel/cpu/cpufreq/elanfreq.c Before: total: 15 errors, 10 warnings, 308 lines checked After: total: 0 errors, 4 warnings, 308 lines checked paolo@paolo-desktop:~/linux.trees.git$ md5sum /tmp/elafreq.o.* add1d36c2f077c5aab7682e8642a9f34 /tmp/elafreq.o.after add1d36c2f077c5aab7682e8642a9f34 /tmp/elafreq.o.before paolo@paolo-desktop:~/linux.trees.git$ size /tmp/elafreq.o.* text data bss dec hex filename 934 270 4 1208 4b8 /tmp/elafreq.o.after 934 270 4 1208 4b8 /tmp/elafreq.o.before Signed-off-by: Paolo Ciarrocchi Signed-off-by: Dave Jones commit ec2a5652ea53c102306f08cdf516f98e32bd4b61 Author: Lennert Buytenhek Date: Thu Oct 9 09:45:04 2008 -0700 phylib: two dynamic mii_bus allocation fallout fixes 1. arch/powerpc/platforms/pasemi/gpio_mdio.c also needs to be converted over to mdiobus_{alloc,free}(). 2. drivers/net/phy/fixed.c used to embed a struct mii_bus into its struct fixed_mdio_bus and then use container_of() to go from the former to the latter. Since mii bus structures are no longer embedded, we need to do something like use the mii bus private pointer to go from mii_bus to fixed_mdio_bus instead. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit a5d8c3483a6e19aca95ef6a2c5890e33bfa5b293 Author: Ingo Molnar Date: Thu Oct 9 11:35:51 2008 +0200 sched debug: add name to sched_domain sysctl entries add /proc/sys/kernel/sched_domain/cpu0/domain0/name, to make it easier to see which specific scheduler domain remained at that entry. Since we process the scheduler domain tree and simplify it, it's not always immediately clear during debugging which domain came from where. depends on CONFIG_SCHED_DEBUG=y. Signed-off-by: Ingo Molnar commit fda50a1c49ad7483eaa29a268d560422c413933f Author: Sergey Lapin Date: Fri Aug 29 15:53:24 2008 +0100 [ARM] 5239/1: Palm Zire 72 power management support This patch contains Palm Zire 72 power management support. Depends on #5238/1 Signed-off-by: Sergey Lapin Signed-off-by: Russell King commit d8aa0251f12546e9bd1e9ee1d9782d6492819a04 Author: Dmitry Baryshkov Date: Thu Oct 9 13:36:24 2008 +0100 [ARM] 5298/1: Drop desc_handle_irq() desc_handle_irq() was declared as obsolete since long ago. Replace it with generic_handle_irq() Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 8e6c81fe289e90b188203ec1db1dc2f3e992ebde Author: Andrew Victor Date: Tue Oct 7 20:44:07 2008 +0100 [ARM] 5297/1: [KS8695] Fix two compile-time warnings Fix two warnings when compiling for the KS8695 processor. arch/arm/include/asm/dma-mapping.h: In function 'dma_to_virt': arch/arm/include/asm/dma-mapping.h:40: warning: return makes pointer from integer without a cast Section mismatch in reference from the function pcibios_fixup_bus() to the (unknown reference) .devinit.text:(unknown) The function pcibios_fixup_bus() references the (unknown reference) __devinit (unknown). This is often because pcibios_fixup_bus lacks a __devinit annotation or the annotation of (unknown) is wrong. Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 8d163b3fa52bb532a4d431c195352fcf356b4977 Author: Andrew Victor Date: Tue Oct 7 20:20:15 2008 +0100 [ARM] 5296/1: [KS8695] Replace macro's with trailing underscores. Replace Macro names that have trailing underscores. Also use the IOPD() macro instead of a hard-coded bit-shift (for better readability). Signed-off-by: Andrew Victor Signed-off-by: Russell King commit 57d1b5366f46fe434e565b710baf683daff78dd8 Author: Randy Dunlap Date: Thu Oct 9 10:42:38 2008 +0200 block_dev: fix kernel-doc in new functions Fix kernel-doc in new functions: Error(mmotm-2008-1002-1617//fs/block_dev.c:895): duplicate section name 'Description' Error(mmotm-2008-1002-1617//fs/block_dev.c:924): duplicate section name 'Description' Warning(mmotm-2008-1002-1617//fs/block_dev.c:1282): No description found for parameter 'pathname' Signed-off-by: Randy Dunlap cc: Andrew Patterson Signed-off-by: Jens Axboe commit af5639424008ffe96f89b059bea1aec15e0115a9 Author: Jens Axboe Date: Thu Oct 9 09:01:10 2008 +0200 block: add some comments around the bio read-write flags Signed-off-by: Jens Axboe commit 6feef531f55cf4a20fd9eb39f5352e5745203603 Author: Denis ChengRq Date: Thu Oct 9 08:57:05 2008 +0200 block: mark bio_split_pool static Since all bio_split calls refer the same single bio_split_pool, the bio_split function can use bio_split_pool directly instead of the mempool_t parameter; then the mempool_t parameter can be removed from bio_split param list, and bio_split_pool is only referred in fs/bio.c file, can be marked static. Signed-off-by: Denis ChengRq Signed-off-by: Jens Axboe commit ad3316bf4eeb53c89164f759767f911072b56203 Author: Martin K. Petersen Date: Wed Oct 1 22:42:53 2008 -0400 block: Find bio sector offset given idx and offset Helper function to find the sector offset in a bio given bvec index and page offset. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit b02739b01c5309d74a59859f2ce92c931d1f1955 Author: Martin K. Petersen Date: Thu Oct 2 18:47:49 2008 +0200 block: gendisk integrity wrapper This is a wrapper for accessing a gendisk's integrity bits. It allows the integrity support in MD to be compiled with BLK_DEV_INTEGRITY off. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit ad7fce93147d32ae53d25d9ea1a8ba31a239deee Author: Martin K. Petersen Date: Wed Oct 1 03:38:39 2008 -0400 block: Switch blk_integrity_compare from bdev to gendisk The DM and MD integrity support now depends on being able to use gendisks instead of block_devices when comparing integrity profiles. Change function parameters accordingly. Also update comparison logic so that two NULL profiles are a valid configuration. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 0c032ab889e7b20b8a5a7d09313e4aca214a15f7 Author: Martin K. Petersen Date: Wed Oct 1 03:38:38 2008 -0400 block: Fix double put in blk_integrity_unregister - kobject_del already puts the parent. - Set integrity profile to NULL to prevent stale data. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit 74aa8c2cc010035a7eef2b4ca4d6430e0dae206a Author: Martin K. Petersen Date: Wed Oct 1 03:38:37 2008 -0400 block: Introduce integrity data ownership flag A filesystem might supply its own integrity metadata. Introduce a flag that indicates whether the filesystem or the block layer owns the integrity buffer. Signed-off-by: Martin K. Petersen Signed-off-by: Jens Axboe commit b04accc425d52ca59699290661e0dfd09b0feeeb Author: Jens Axboe Date: Thu Oct 2 12:53:22 2008 +0200 block: revert part of d7533ad0e132f92e75c1b2eb7c26387b25a583c1 We need bdev_get_integrity() to support the pending md/dm patches. Signed-off-by: Jens Axboe commit 8deaf7210728c453295dc1cb2a5b66c68183ac85 Author: Alberto Bertogli Date: Thu Oct 2 12:46:53 2008 +0200 bio.h: Remove unused conditional code The whole bio_integrity() definition is inside an #ifdef CONFIG_BLK_DEV_INTEGRITY, there's no need for the conditional code. Signed-off-by: Alberto Bertogli Signed-off-by: Jens Axboe commit d00e29fd99dd63d1c51917604e35dee824ed567f Author: Kiyoshi Ueda Date: Wed Oct 1 10:14:46 2008 -0400 block: remove end_{queued|dequeued}_request() This patch removes end_queued_request() and end_dequeued_request(), which are no longer used. As a results, users of __end_request() became only end_request(). So the actual code in __end_request() is moved to end_request() and __end_request() is removed. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 99cd3386f290eaf61f2b7596d5a4cc2007771174 Author: Kiyoshi Ueda Date: Wed Oct 1 10:13:44 2008 -0400 block: change elevator to use __blk_end_request() This patch converts elevator to use __blk_end_request() directly so that end_{queued|dequeued}_request() can be removed. Related 'uptodate' arguments is converted to 'error'. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 7afb3a6e752503d5ebeb038336aa0fa886a51b44 Author: Kiyoshi Ueda Date: Wed Oct 1 10:13:02 2008 -0400 gdrom: change to use __blk_end_request() This patch converts gdrom to use __blk_end_request() directly so that end_{queued|dequeued}_request() can be removed. gd.transfer is '1' in error cases and '0' in non-error cases, so gdrom hasn't been propagating any error code to the block layer. We can just convert error cases to '-EIO'. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Cc: Adrian McMenamin Signed-off-by: Jens Axboe commit 2a9df5055a99df25533daf4041fdb99f0ed3463c Author: Kiyoshi Ueda Date: Wed Oct 1 10:12:15 2008 -0400 memstick: change to use __blk_end_request() This patch converts memstick to use __blk_end_request() directly so that end_{queued|dequeued}_request() can be removed. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Cc: Alex Dubov Signed-off-by: Jens Axboe commit 8316982ac06d7d8875dc8738efbb030791dc33bb Author: Kiyoshi Ueda Date: Wed Oct 1 10:11:20 2008 -0400 virtio_blk: change to use __blk_end_request() This patch converts virtio_blk to use __blk_end_request() directly so that end_{queued|dequeued}_request() can be removed. Related 'uptodate' argument is converted to 'error'. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Cc: Rusty Russell Signed-off-by: Jens Axboe commit 0497b345e7d067109e0dd9bf9f4978a6847ee13b Author: Jens Axboe Date: Wed Oct 1 16:16:25 2008 +0200 blktrace: use BLKTRACE_BDEV_SIZE as the name size for setup structure Define as 32, which is is what BDEVNAME_SIZE is/was as well. This keeps the user interface the same and gets rid of the difference between kernel and user api here. Signed-off-by: Jens Axboe commit ef9e3facdf1fe1228721a7c295a76d1b7a0e57ec Author: Kiyoshi Ueda Date: Wed Oct 1 16:12:15 2008 +0200 block: add lld busy state exporting interface This patch adds an new interface, blk_lld_busy(), to check lld's busy state from the block layer. blk_lld_busy() calls down into low-level drivers for the checking if the drivers set q->lld_busy_fn() using blk_queue_lld_busy(). This resolves a performance problem on request stacking devices below. Some drivers like scsi mid layer stop dispatching request when they detect busy state on its low-level device like host/target/device. It allows other requests to stay in the I/O scheduler's queue for a chance of merging. Request stacking drivers like request-based dm should follow the same logic. However, there is no generic interface for the stacked device to check if the underlying device(s) are busy. If the request stacking driver dispatches and submits requests to the busy underlying device, the requests will stay in the underlying device's queue without a chance of merging. This causes performance problem on burst I/O load. With this patch, busy state of the underlying device is exported via q->lld_busy_fn(). So the request stacking driver can check it and stop dispatching requests if busy. The underlying device driver must return the busy state appropriately: 1: when the device driver can't process requests immediately. 0: when the device driver can process requests immediately, including abnormal situations where the device driver needs to kill all requests. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Cc: Andrew Morton Signed-off-by: Jens Axboe commit 336c3d8ce771608815b65bcfa27a17a83b297328 Author: Elias Oltmanns Date: Wed Oct 1 16:02:33 2008 +0200 block: Fix blk_start_queueing() to not kick a stopped queue blk_start_queueing() should act like the generic queue unplugging and kicking and ignore a stopped queue. Such a queue may not be run until after a call to blk_start_queue(). Signed-off-by: Elias Oltmanns Signed-off-by: Jens Axboe commit c0ddffa84a7d12da9943a94d04dadbfb1883b904 Author: Sven Schuetz Date: Fri Sep 26 10:58:02 2008 +0200 include blktrace_api.h in headers_install This header file is of interest for user space programming, i.e. for tools that process blktrace data. We would like to use it for a tool on-top of blktrace which processes data provided by blktrace. For this purpose, it would be helpful if the blktrace API would make it to /usr/include/linux. The git tree for the blktrace tools comes with its own copy of this header file. I didn't manage to replace that copy with the file generated by the patch below yet. A few more cleanups would be needed. For example, the blktrace ioctl numbers, which are currently defined in usr/include/fs.h, might need to be moved. Should be feasible, though. Signed-off-by: Sven Schuetz Signed-off-by: Martin Peschke Signed-off-by: Jens Axboe commit e3ba9ae58a5599226e3976b29c8093041ae7c332 Author: Jens Axboe Date: Thu Sep 25 11:42:41 2008 +0200 block: reserve some tags just for sync IO By only allowing async IO to consume 3/4 ths of the tag depth, we always have slots free to serve sync IO. This is important to avoid having writes fill the entire tag queue, thus starving reads. Original patch and idea from Linus Torvalds Signed-off-by: Jens Axboe commit f7d7b7a7a3db6526a84ea755c1c54a051e9a52de Author: Jens Axboe Date: Thu Sep 25 11:37:50 2008 +0200 block: as/cfq ssd idle check update We really need to know about the hardware tagging support as well, since if the SSD does not do tagging then we still want to idle. Otherwise have the same dependent sync IO vs flooding async IO problem as on rotational media. Signed-off-by: Jens Axboe commit 8bff7c6b0f63c7ee9c5e3a076338d74125b8debb Author: Jens Axboe Date: Wed Sep 24 13:05:10 2008 +0200 libata: set queue SSD flag for SSD devices SSD devices should give an RPM setting of 1 in word 217 of the ID page. If we see such a device, tell the block layer about it. Signed-off-by: Jens Axboe commit a68bbddba486020c9c74825ce90c4c1ec463e0e8 Author: Jens Axboe Date: Wed Sep 24 13:03:33 2008 +0200 block: add queue flag for SSD/non-rotational devices We don't want to idle in AS/CFQ if the device doesn't have a seek penalty. So add a QUEUE_FLAG_NONROT to indicate a non-rotational device, low level drivers should set this flag upon discovery of an SSD or similar device type. Signed-off-by: Jens Axboe commit 9e49184c82e9ec3ab4d45f9ea5a17ccaf43869f0 Author: Keith Wansbrough Date: Mon Sep 22 14:57:17 2008 -0700 floppy: support arbitrary first-sector numbers The current floppy_struct allows floppies to number sectors starting from 0 or 1. This patch allows arbitrary first-sector numbers - for example, 0xC1 for Amstrad CPC disks. This extends the existing 1-bit field (FD_ZEROBASED, bit 2 of stretch) to 8 bits (FD_SECTMASK, bits 2 to 9). Currently 0x00 denotes a first sector number of 1, and 0x01 denotes a first sector number of 0. We extend this by interpreting FD_SECTMASK as the first sector number with the LSB flipped. Signed-off-by: Keith Wansbrough Cc: Alain Knaff Cc: Michael Kerrisk Cc: Karel Zak Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 061837bc8687edc2739ef02f721b7ae0b8076390 Author: Julia Lawall Date: Mon Sep 22 14:57:16 2008 -0700 drivers/block: Use DIV_ROUND_UP The kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) / (d)) but is perhaps more readable. An extract of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // @haskernel@ @@ #include @depends on haskernel@ expression n,d; @@ ( - (n + d - 1) / d + DIV_ROUND_UP(n,d) | - (n + (d - 1)) / d + DIV_ROUND_UP(n,d) ) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP((n),d) + DIV_ROUND_UP(n,d) @depends on haskernel@ expression n,d; @@ - DIV_ROUND_UP(n,(d)) + DIV_ROUND_UP(n,d) // Signed-off-by: Julia Lawall Cc: Signed-off-by: Andrew Morton Signed-off-by: Jens Axboe commit 905bd78f2188da69e74966918e3d71df3dff382b Author: scameron@beardog.cca.cpqcorp.net Date: Fri Sep 19 18:27:47 2008 -0700 cciss: Fix cciss SCSI rescan code to better notice device changes Fix cciss SCSI rescan code to better notice device changes. If you hot-unplug a tape drive, then hot-plug a different tape drive into the same slot in a storage enclosure, the cciss driver wouldn't notice anything had changed, as it was only looking at the LUN address and device type. Now it looks at the inquiry page 0x83 device identifier, and vendor and model strings as well. Signed-off-by: Stephen M. Cameron Signed-off-by: Jens Axboe commit 79eb014578b79fcfb9d9e7dc979d1316079220aa Author: FUJITA Tomonori Date: Thu Sep 18 09:35:28 2008 -0700 fix an example of scatterlists handling in DMA-API.txt This example isn't the proper way to handle scatterlists (can't handle sg chaining). Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 4ee5eaf4516a60f8ef64d3c246c64c6be0cf8c3a Author: Kiyoshi Ueda Date: Thu Sep 18 10:46:13 2008 -0400 block: add a queue flag for request stacking support This patch adds a queue flag to indicate the block device can be used for request stacking. Request stacking drivers need to stack their devices on top of only devices of which q->request_fn is functional. Since bio stacking drivers (e.g. md, loop) basically initialize their queue using blk_alloc_queue() and don't set q->request_fn, the check of (q->request_fn == NULL) looks enough for that purpose. However, dm will become both types of stacking driver (bio-based and request-based). And dm will always set q->request_fn even if the dm device is bio-based of which q->request_fn is not functional actually. So we need something else to distinguish the type of the device. Adding a queue flag is a solution for that. The reason why dm always sets q->request_fn is to keep the compatibility of dm user-space tools. Currently, all dm user-space tools are using bio-based dm without specifying the type of the dm device they use. To use request-based dm without changing such tools, the kernel must decide the type of the dm device automatically. The automatic type decision can't be done at the device creation time and needs to be deferred until such tools load a mapping table, since the actual type is decided by dm target type included in the mapping table. So a dm device has to be initialized using blk_init_queue() so that we can load either type of table. Then, all queue stuffs are set (e.g. q->request_fn) and we have no element to distinguish that it is bio-based or request-based, even after a table is loaded and the type of the device is decided. By the way, some stuffs of the queue (e.g. request_list, elevator) are needless when the dm device is used as bio-based. But the memory size is not so large (about 20[KB] per queue on ia64), so I hope the memory loss can be acceptable for bio-based dm users. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 82124d60354846623a4b94af335717a5e142a074 Author: Kiyoshi Ueda Date: Thu Sep 18 10:45:38 2008 -0400 block: add request submission interface This patch adds blk_insert_cloned_request(), a generic request submission interface for request stacking drivers. Request-based dm will use it to submit their clones to underlying devices. blk_rq_check_limits() is also added because it is possible that the lower queue has stronger limitations than the upper queue if multiple drivers are stacking at request-level. Not only for blk_insert_cloned_request()'s internal use, the function will be used by request-based dm when the queue limitation is modified (e.g. by replacing dm's table). Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit 32fab448e5e86694beade415e750363538ea5f49 Author: Kiyoshi Ueda Date: Thu Sep 18 10:45:09 2008 -0400 block: add request update interface This patch adds blk_update_request(), which updates struct request with completing its data part, but doesn't complete the struct request itself. Though it looks like end_that_request_first() of older kernels, blk_update_request() should be used only by request stacking drivers. Request-based dm will use it in bio->bi_end_io callback to update the original request when a data part of a cloned request completes. Followings are additional background information of why request-based dm needs this interface. - Request stacking drivers can't use blk_end_request() directly from the lower driver's completion context (bio->bi_end_io or rq->end_io), because some device drivers (e.g. ide) may try to complete their request with queue lock held, and it may cause deadlock. See below for detailed description of possible deadlock: - To solve that, request-based dm offloads the completion of cloned struct request to softirq context (i.e. using blk_complete_request() from rq->end_io). - Though it is possible to use the same solution from bio->bi_end_io, it will delay the notification of bio completion to the original submitter. Also, it will cause inefficient partial completion, because the lower driver can't perform the cloned request anymore and request-based dm needs to requeue and redispatch it to the lower driver again later. That's not good. - So request-based dm needs blk_update_request() to perform the bio completion in the lower driver's completion context, which is more efficient. Signed-off-by: Kiyoshi Ueda Signed-off-by: Jun'ichi Nomura Signed-off-by: Jens Axboe commit e3335de94067dbebe22e3962632ead34e832cb60 Author: Jens Axboe Date: Thu Sep 18 09:22:54 2008 -0700 block: blk_cleanup_queue() should call blk_sync_queue() When a driver calls blk_cleanup_queue(), the device should be fully idle. However, the block layer may have pending plugging timers and the IO schedulers may have pending work in the work queues. So quisce the device by waiting for the timer and flushing the work queues. Signed-off-by: Jens Axboe commit 9246b5f06deeea541e7c62437c2ad19a0b1172c0 Author: Chris Lalancette Date: Wed Sep 17 14:30:32 2008 -0700 block: Expand Xen blkfront for > 16 xvd Until recently, the maximum number of xvd block devices you could attach to a Xen domU was 16. This limitation turned out to be problematic for some users, so it was expanded to handle a much larger number of disks. However, this requires a couple of changes in the way that blkfront scans for disks. This functionality is already present in the Xen linux-2.6.18-xen.hg tree; the attached patch adds this functionality to the mainline xen-blkfront implementation. I successfully tested it on a 2.6.25 tree, and build tested it on 2.6.27-rc3. Signed-off-by: Chris Lalancette Acked-by: Jeremy Fitzhardinge Signed-off-by: Jens Axboe commit 9c02f2b02e29a2244e36c6e1f246080d8afc6cff Author: Jens Axboe Date: Thu Sep 18 09:31:53 2008 -0700 block: cleanup some of the integrity stuff in blkdev.h Don't put functions that are only used in fs/bio-integrity.c in blkdev.h, it's much cleaner to just keep it in there. Also kill completely unused bdev_get_tag_size() Signed-off-by: Jens Axboe commit 7ba1fbaa4a478f72fbaf5a56af9c82a77966b4c7 Author: Jens Axboe Date: Tue Sep 16 09:54:11 2008 -0700 block: use rq complete marking in blk_abort_request() We cannot abort a request if we raced with the timeout handler already, or with the IO completion. So make blk_abort_request() mark the request as complete, and only continue if we succeeded. Found and suggested by Mike Anderson Signed-off-by: Jens Axboe commit 581d4e28d9195aa8b2231383dbabc288988d615e Author: Jens Axboe Date: Sun Sep 14 05:56:33 2008 -0700 block: add fault injection mechanism for faking request timeouts Only works for the generic request timer handling. Allows one to sporadically ignore request completions, thus exercising the timeout handling. Signed-off-by: Jens Axboe commit 0a0d96b03a1f3bfd6bc3ea08008699e8e59fccd9 Author: Jens Axboe Date: Thu Sep 11 13:17:37 2008 +0200 block: add bio_kmalloc() Not all callers need (or want!) the mempool backing guarentee, it essentially means that you can only use bio_alloc() for short allocations and not for preallocating some bio's at setup or init time. So add bio_kmalloc() which does the same thing as bio_alloc(), except it just uses kmalloc() as the backing instead of the bio mempools. Signed-off-by: Jens Axboe commit 3e6053d76dcbd92b2f9f4ad5ece9bce83149523e Author: Hugh Dickins Date: Thu Sep 11 10:57:55 2008 +0200 block: adjust blkdev_issue_discard for swap Two mods to blkdev_issue_discard(), thinking ahead to its use on swap: 1. Add gfp_mask argument, so swap allocation can use it where GFP_KERNEL might deadlock but GFP_NOIO is safe. 2. Enlarge nr_sects argument from unsigned to sector_t: unsigned long is enough to cover a whole swap area, but sector_t suits any partition. Change sb_issue_discard()'s nr_blocks to sector_t too; but no need seen for a gfp_mask there, just pass GFP_KERNEL down to blkdev_issue_discard(). Signed-off-by: Hugh Dickins Signed-off-by: Jens Axboe commit 4677735f03f5b6b6f2182f457a921855cadfb85b Author: FUJITA Tomonori Date: Tue Sep 2 22:50:08 2008 +0900 sg: remove unnecessary blk_rq_unmap_user blk_rq_unmap_user in sg_finish_rem_req can take care of all the cases. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 0b6cb26c6686f1f24607c41f0a6d21ce54191710 Author: FUJITA Tomonori Date: Tue Sep 2 22:50:07 2008 +0900 sg: remove sg_read_xfer sg_read_xfer was used to copy data to user space for READ commands. blk_rq_unmap_user does the job so sg_read_xfer does nothing useful. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit c3919af2354fff673026dcbeac6f009d2ce5ceee Author: FUJITA Tomonori Date: Tue Sep 2 22:50:06 2008 +0900 sg: remove sg_write_xfer sg_write_xfer was used to copy data from user space for WRITE commands. blk_rq_map_user_iov and blk_rq_map_user do the job so sg_write_xfer does nothing useful. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 626710c9d665ff381c7ec666b6a023f064ca5fef Author: FUJITA Tomonori Date: Tue Sep 2 22:50:05 2008 +0900 sg: incorporate sg_build_direct into sg_start_req Calling blk_rq_map_user() at a single place is better than at different two places. It makes the code more understandable. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 44c7b0eaa041007066e30ab4869d5bbf8dad5989 Author: FUJITA Tomonori Date: Tue Sep 2 22:50:04 2008 +0900 sg: remove __sg_start_req __sg_start_req() was used temporarily to call blk_get_request() during converting sg to use the block layer. Now sg always calls blk_get_request() so we can move blk_get_request() to sg_start_req(). We don't need __sg_start_req anymore. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit fd1c1de0766844af4cfc39298e109ad273e72a9e Author: FUJITA Tomonori Date: Tue Sep 2 22:50:03 2008 +0900 sg: remove b_malloc_len in sg_scatter_hold struct It's not used for anything useful after the block layer conversion. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 7e56cb0f7e7a132803ffefa0a5a15fb2079afaf1 Author: FUJITA Tomonori Date: Tue Sep 2 22:50:02 2008 +0900 sg: remove SG_ALLOW_DIO_CODE define sg had lots of the own functions for the direct IO but now sg uses the block layer functions for it. There are only five lines for the direct IO. SG_ALLOW_DIO_CODE define was used to compile out the direct IO code but we don't need the define. If someone wants to remove the direct IO code, he can do easily without the define. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit a91a3a20e06621b9931793888583efe37db4e4e8 Author: FUJITA Tomonori Date: Tue Sep 2 22:50:01 2008 +0900 sg: rename sg_cmd_done sg_rq_end_io old sg_rq_end_io() was used to wrap sg_cmd_done during converting sg to use the block layer (in order to cover the difference scsi_execute_async and blk_execute_rq_nowait). Now we don't need it so let's remove it. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 224cb3e981f1b2f9f93dbd49eaef505d17d894c2 Author: Mike Anderson Date: Fri Aug 29 09:36:09 2008 +0200 dm: Call blk_abort_queue on failed paths Signed-off-by: Mike Anderson Signed-off-by: Jens Axboe commit 11914a53d2ec2974a565311af327b8983d8c820d Author: Mike Anderson Date: Sat Sep 13 20:31:27 2008 +0200 block: Add interface to abort queued requests Signed-off-by: Mike Anderson Signed-off-by: Jens Axboe commit 242f9dcb8ba6f68fcd217a119a7648a4f69290e9 Author: Jens Axboe Date: Sun Sep 14 05:55:09 2008 -0700 block: unify request timeout handling Right now SCSI and others do their own command timeout handling. Move those bits to the block layer. Instead of having a timer per command, we try to be a bit more clever and simply have one per-queue. This avoids the overhead of having to tear down and setup a timer for each command, so it will result in a lot less timer fiddling. Signed-off-by: Mike Anderson Signed-off-by: Jens Axboe commit 608aeef17a91747d6303de4df5e2c2e6899a95e8 Author: Andrew Patterson Date: Thu Sep 4 14:27:45 2008 -0600 Call flush_disk() after detecting an online resize. We call flush_disk() to make sure the buffer cache for the disk is flushed after a disk resize. There are two resize cases, growing and shrinking. Given that users can shrink/then grow a disk before revalidate_disk() is called, we treat the grow case identically to shrinking. We need to flush the buffer cache after an online shrink because, as James Bottomley puts it, The two use cases for shrinking I can see are 1. planned: the fs is already shrunk to within the new boundaries and all data is relocated, so invalidate is fine (any dirty buffers that might exist in the shrunk region are there only because they were relocated but not yet written to their original location). 2. unplanned: In this case, the fs is probably toast, so whether we invalidate or not isn't going to make a whole lot of difference; it's still going to try to read or write from sectors beyond the new size and get I/O errors. Immediately invalidating shrunk disks will cause errors for outstanding I/Os for reads/write beyond the new end of the disk to be generated earlier then if we waited for the normal buffer cache operation. It also removes a potential security hole where we might keep old data around from beyond the end of the shrunk disk if the disk was not invalidated. Signed-off-by: Andrew Patterson Signed-off-by: Jens Axboe commit 56ade44b46780fa291fa68b824f1dafdcb11b0ca Author: Andrew Patterson Date: Thu Sep 4 14:27:40 2008 -0600 Added flush_disk to factor out common buffer cache flushing code. We need to be able to flush the buffer cache for for more than just when a disk is changed, so we factor out common cache flush code in check_disk_change() to an internal flush_disk() routine. This routine will then be used for both disk changes and disk resizes (in a later patch). Include the disk name in the text indicating that there are busy inodes on the device and increase the KERN severity of the message. Signed-off-by: Andrew Patterson Signed-off-by: Jens Axboe commit f98a8cae12f2b2a8f9bfd7a53c990a1a405e880e Author: Andrew Patterson Date: Thu Sep 4 14:27:35 2008 -0600 SCSI sd driver calls revalidate_disk wrapper. Modify the SCSI disk driver to call the revalidate_disk() wrapper. This allows us to do some housekeeping such as accounting for a disk being resized online. The wrapper will call sd_revalidate_disk() at the appropriate time. Signed-off-by: Andrew Patterson Signed-off-by: Jens Axboe commit 9bc3ffbfbdf71fefda8a261ef8d6fdc388a29b42 Author: Andrew Patterson Date: Thu Sep 4 14:27:30 2008 -0600 Check for device resize when rescanning partitions Check for device resize in the rescan_partitions() routine. If the device has been resized, the bdev size is set to match. The rescan_partitions() routine is called when opening the device and when calling the BLKRRPART ioctl. Signed-off-by: Andrew Patterson Signed-off-by: Jens Axboe commit c3279d1454cdfed02a557d789d8a6d08ab4cbe70 Author: Andrew Patterson Date: Thu Sep 4 14:27:25 2008 -0600 Adjust block device size after an online resize of a disk. The revalidate_disk routine now checks if a disk has been resized by comparing the gendisk capacity to the bdev inode size. If they are different (usually because the disk has been resized underneath the kernel) the bdev inode size is adjusted to match the capacity. Signed-off-by: Andrew Patterson Signed-off-by: Jens Axboe commit 0c002c2f74e10baa9021d3ecc50585c6eafea568 Author: Andrew Patterson Date: Thu Sep 4 14:27:20 2008 -0600 Wrapper for lower-level revalidate_disk routines. This is a wrapper for the lower-level revalidate_disk call-backs such as sd_revalidate_disk(). It allows us to perform pre and post operations when calling them. We will use this wrapper in a later patch to adjust block device sizes after an online resize (a _post_ operation). Signed-off-by: Andrew Patterson Signed-off-by: Jens Axboe commit 243294dae09c909c0442c8f04d470b69c3c19d6e Author: Tejun Heo Date: Thu Sep 4 09:17:31 2008 +0200 block: fix duplicate headers for /proc/partitions seqf can be started multiple times for a read and the header should be printed only for the initial one. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit fad7f01e61bf737fe8a3740d803f000db57ecac6 Author: FUJITA Tomonori Date: Tue Sep 2 16:20:20 2008 +0900 sg: set dxferp to NULL for READ with the older SG interface With the older SG interface, we don't know a user-space address to trasfer data when executing a SCSI command. So we can't pass a user-space address to blk_rq_map_user. This patch fixes sg to pass a NULL user-space address to blk_rq_map_user so that it just sets up a request and bios with page frames propely without data transfer. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 818827669d85b84241696ffef2de485db46b0b5e Author: FUJITA Tomonori Date: Tue Sep 2 16:20:19 2008 +0900 block: make blk_rq_map_user take a NULL user-space buffer This patch changes blk_rq_map_user to accept a NULL user-space buffer with a READ command if rq_map_data is not NULL. Thus a caller can pass page frames to lk_rq_map_user to just set up a request and bios with page frames propely. bio_uncopy_user (called via blk_rq_unmap_user) doesn't copy data to user space with such request. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 839e96afba87117befd39cf4e43f156edc8047a7 Author: Jens Axboe Date: Tue Sep 2 09:25:21 2008 +0200 block: update comment on end_request() It refers to functions that no longer exist after the IO completion changes. Signed-off-by: Jens Axboe commit 55dc7db70a73a3809a2334063c9b5b0d8ccebdaa Author: Tejun Heo Date: Mon Sep 1 13:44:35 2008 +0200 init: DEBUG_BLOCK_EXT_DEVT requires explicit root= param DEBUG_BLOCK_EXT_DEVT shuffles SCSI and IDE device numbers and root device number set using rdev become meaningless. Root devices should be explicitly specified using textual names. Warn about it if root can't be found and DEBUG_BLOCK_EXT_DEVT is enabled. Also, add warning to the help text. Signed-off-by: Tejun Heo Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit 2bbedcb4c1abac498f18e5770d62ae66ff235ada Author: Tejun Heo Date: Fri Aug 29 11:41:51 2008 +0200 block: don't test for partition size in bdget_disk() and blk_lookup_devt() bdget_disk() and blk_lookup_devt() never cared whether the specified partition (or disk) is zero sized or not. I got confused while converting those not to depend on consecutive minor numbers in commit 5a6411b1178baf534aa9138052864dfa89d3eada and later when dev0 was added it broke callers which expected to get valid return for zero sized disk devices. So, they never needed nr_sects checks in the first place. Kill them. This problem was spotted and debugged by Bartlmoiej Zolnierkiewicz. Signed-off-by: Tejun Heo Cc: Bartlomiej Zolnierkiewicz Signed-off-by: Jens Axboe commit 759f8ca3048f7438aa3129268d7252552505d662 Author: Jens Axboe Date: Fri Aug 29 09:06:29 2008 +0200 Change default value of CONFIG_DEBUG_BLOCK_EXT_DEVT to 'n' It's a debug option that you would explicitly enable to test this feature, we should default it to 'n' to prevent accidental surprises for now. Signed-off-by: Jens Axboe commit aeb3d3a81e81c6323a17fe914e91eb228b3f1aa1 Author: Harvey Harrison Date: Thu Aug 28 09:27:42 2008 +0200 block: kmalloc args reversed, small function definition fixes Noticed by sparse: block/blk-softirq.c:156:12: warning: symbol 'blk_softirq_init' was not declared. Should it be static? block/genhd.c:583:28: warning: function 'bdget_disk' with external linkage has definition block/genhd.c:659:17: warning: incorrect type in argument 1 (different base types) block/genhd.c:659:17: expected unsigned int [unsigned] [usertype] size block/genhd.c:659:17: got restricted gfp_t block/genhd.c:659:29: warning: incorrect type in argument 2 (different base types) block/genhd.c:659:29: expected restricted gfp_t [usertype] flags block/genhd.c:659:29: got unsigned int block: kmalloc args reversed Signed-off-by: Harvey Harrison Signed-off-by: Jens Axboe commit 01cfcddd98f09e05a2e36031654ed46643b76f23 Author: FUJITA Tomonori Date: Thu Aug 28 15:05:59 2008 +0900 sg: use blk_rq_aligned helper function Signed-off-by: FUJITA Tomonori Cc: Douglas Gilbert Cc: Jens Axboe Signed-off-by: Jens Axboe commit 879040742cf09f2360a9ac41846288707e4e567c Author: FUJITA Tomonori Date: Thu Aug 28 15:05:58 2008 +0900 block: add blk_rq_aligned helper function This adds blk_rq_aligned helper function to see if alignment and padding requirement is satisfied for DMA transfer. This also converts blk_rq_map_kern and __blk_rq_map_user to use the helper function. Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Signed-off-by: Jens Axboe commit 4d8ab62e087d9300883b82c2662e73e6eef803a3 Author: FUJITA Tomonori Date: Thu Aug 28 15:05:57 2008 +0900 bio: convert bio_copy_kern to use bio_copy_user bio_copy_kern and bio_copy_user are very similar. This converts bio_copy_kern to use bio_copy_user. Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Signed-off-by: Jens Axboe commit 10db10d144c0248f285242f79daf6b9de6b00a62 Author: FUJITA Tomonori Date: Fri Aug 29 12:32:18 2008 +0200 sg: convert the indirect IO path to use the block layer This patch converts the indirect IO path (including mmap IO and old struct sg_header) to use the block layer functions (blk_get_request, blk_execute_rq_nowait, blk_rq_map_user, etc) instead of scsi_execute_async(). [Jens: fixed compile error with SCSI logging enabled] Signed-off-by: FUJITA Tomonori Signed-off-by: Douglas Gilbert Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit 6e5a30cba5e7c03b2cd564e968f1dd667a0f7c42 Author: FUJITA Tomonori Date: Thu Aug 28 16:17:08 2008 +0900 sg: convert the direct IO path to use the block layer This patch converts the direct IO path (SG_FLAG_DIRECT_IO) to use the block layer functions (blk_get_request, blk_execute_rq_nowait, blk_rq_map_user, etc) instead of scsi_execute_async(). Signed-off-by: FUJITA Tomonori Signed-off-by: Douglas Gilbert Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit 10865dfa34e7552c4c64606edcdf1e21a110c985 Author: FUJITA Tomonori Date: Thu Aug 28 16:17:07 2008 +0900 sg: convert the non-data path to use the block layer This patch converts the non data path to use the block layer functions (blk_get_request, blk_execute_rq_nowait, etc) instead of uses scsi_execute_async(). Signed-off-by: FUJITA Tomonori Signed-off-by: Douglas Gilbert Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit 152e283fdfea0cd11e297d982378b55937842dde Author: FUJITA Tomonori Date: Thu Aug 28 16:17:06 2008 +0900 block: introduce struct rq_map_data to use reserved pages This patch introduces struct rq_map_data to enable bio_copy_use_iov() use reserved pages. Currently, bio_copy_user_iov allocates bounce pages but drivers/scsi/sg.c wants to allocate pages by itself and use them. struct rq_map_data can be used to pass allocated pages to bio_copy_user_iov. The current users of bio_copy_user_iov simply passes NULL (they don't want to use pre-allocated pages). Signed-off-by: FUJITA Tomonori Cc: Jens Axboe Cc: Douglas Gilbert Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit a3bce90edd8f6cafe3f63b1a943800792e830178 Author: FUJITA Tomonori Date: Thu Aug 28 16:17:05 2008 +0900 block: add gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov Currently, blk_rq_map_user and blk_rq_map_user_iov always do GFP_KERNEL allocation. This adds gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov so sg can use it (sg always does GFP_ATOMIC allocation). Signed-off-by: FUJITA Tomonori Signed-off-by: Douglas Gilbert Cc: Mike Christie Cc: James Bottomley Signed-off-by: Jens Axboe commit 45333d5a31296d0af886d94f1d08f128231cab8e Author: Aaron Carroll Date: Tue Aug 26 15:52:36 2008 +0200 cfq-iosched: fix queue depth detection CFQ's detection of queueing devices assumes a non-queuing device and detects if the queue depth reaches a certain threshold. Under some workloads (e.g. synchronous reads), CFQ effectively forces a unit queue depth, thus defeating the detection logic. This leads to poor performance on queuing hardware, since the idle window remains enabled. This patch inverts the sense of the logic: assume a queuing-capable device, and detect if the depth does not exceed the threshold. Signed-off-by: Aaron Carroll Signed-off-by: Jens Axboe commit 605401618ce4409045bc4db86e88d4b38f2ad585 Author: Jens Axboe Date: Tue Aug 26 13:34:34 2008 +0200 block: don't use bio_has_data() in the completion path We should just check for rq->bio, as that is really the information we are looking for. Even if the bio attached doesn't carry data, we still need to do IO post processing on it. Signed-off-by: Jens Axboe commit ab780f1ece0dc8d5e8e8e85435acc5e4747ccda3 Author: Jens Axboe Date: Tue Aug 26 10:25:02 2008 +0200 block: inherit CPU completion on bio->rq and rq->rq merges Somewhat incomplete, as we do allow merges of requests and bios that have different completion CPUs given. This is done on the assumption that a larger IO is still more beneficial than CPU locality. Signed-off-by: Jens Axboe commit c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832 Author: Jens Axboe Date: Sat Sep 13 20:26:01 2008 +0200 block: add support for IO CPU affinity This patch adds support for controlling the IO completion CPU of either all requests on a queue, or on a per-request basis. We export a sysfs variable (rq_affinity) which, if set, migrates completions of requests to the CPU that originally submitted it. A bio helper (bio_set_completion_cpu()) is also added, so that queuers can ask for completion on that specific CPU. In testing, this has been show to cut the system time by as much as 20-40% on synthetic workloads where CPU affinity is desired. This requires a little help from the architecture, so it'll only work as designed for archs that are using the new generic smp helper infrastructure. Signed-off-by: Jens Axboe commit 18887ad910e56066233a07fd3cfb2fa11338b782 Author: Jens Axboe Date: Mon Jul 28 13:08:45 2008 +0200 block: make kblockd_schedule_work() take the queue as parameter Preparatory patch for checking queuing affinity. Signed-off-by: Jens Axboe commit b646fc59b332ef307895558c9cd1359dc2d25813 Author: Jens Axboe Date: Mon Jul 28 13:06:00 2008 +0200 block: split softirq handling into blk-softirq.c Signed-off-by: Jens Axboe commit 0835da67c11e879ed5dc23160934d8970470a2ce Author: Jens Axboe Date: Tue Aug 26 09:15:47 2008 +0200 block: use linux/uaccess.h in elevator.c instead of asm variant Signed-off-by: Jens Axboe commit 3e1a7ff8a0a7b948f2684930166954f9e8e776fe Author: Tejun Heo Date: Mon Aug 25 19:56:17 2008 +0900 block: allow disk to have extended device number Now that disk and partition handlings are mostly unified, it's easy to allow disk to have extended device number. This patch makes add_disk() use extended device number if disk->minors is zero. Both sd and ide-disk are updated to use this. * sd_format_disk_name() is implemented which can generically determine the drive name. This removes disk number restriction stemming from limited device names. * If sd index goes over SD_MAX_DISKS (which can be increased now BTW), sd simply doesn't initialize minors letting block layer choose extended device number. * If CONFIG_DEBUG_EXT_DEVT is set, both sd and ide-disk always set minors to 0 and use extended device numbers. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 689d6fac40b41c7bf154f362deaf442548e4dc81 Author: Tejun Heo Date: Mon Aug 25 19:56:16 2008 +0900 block: replace @ext_minors with GENHD_FL_EXT_DEVT With previous changes, it's meaningless to limit the number of partitions. Replace @ext_minors with GENHD_FL_EXT_DEVT such that setting the flag allows the disk to have maximum number of allowed partitions (only limited by the number of entries in parsed_partitions as determined by MAX_PART constant). This kills not-too-pretty alloc_disk_ext[_node]() functions and makes @minors parameter to alloc_disk[_node]() unnecessary. The parameter is left alone to avoid disturbing the users. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 540eed5637b766bb1e881ef744c42617760b4815 Author: Tejun Heo Date: Mon Aug 25 19:56:15 2008 +0900 block: make partition array dynamic disk->__part used to be statically allocated to the maximum possible number of partitions. This patch makes partition array allocation dynamic. The added overhead is minimal as only real change is one memory dereference changed to RCU one. This saves both a bit of memory and cpu cycles iterating through unoccupied slots and makes increasing partition limit easier. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 074a7aca7afa6f230104e8e65eba3420263714a5 Author: Tejun Heo Date: Mon Aug 25 19:56:14 2008 +0900 block: move stats from disk to part0 Move stats related fields - stamp, in_flight, dkstats - from disk to part0 and unify stat handling such that... * part_stat_*() now updates part0 together if the specified partition is not part0. ie. part_stat_*() are now essentially all_stat_*(). * {disk|all}_stat_*() are gone. * part_round_stats() is updated similary. It handles part0 stats automatically and disk_round_stats() is killed. * part_{inc|dec}_in_fligh() is implemented which automatically updates part0 stats for parts other than part0. * disk_map_sector_rcu() is updated to return part0 if no part matches. Combined with the above changes, this makes NULL special case handling in callers unnecessary. * Separate stats show code paths for disk are collapsed into part stats show code paths. * Rename disk_stat_lock/unlock() to part_stat_lock/unlock() While at it, reposition stat handling macros a bit and add missing parentheses around macro parameters. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit eddb2e26b5ee3c5da68ba4bf1921ba20e2097bff Author: Tejun Heo Date: Mon Aug 25 19:56:13 2008 +0900 block: kill GENHD_FL_FAIL and use part0->make_it_fail GENHD_FL_FAIL for disk is what make_it_fail is for parts. Kill it and use part0->make_it_fail. Sysfs node handling is unified too. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 0762b8bde9729f10f8e6249809660ff2ec3ad735 Author: Tejun Heo Date: Mon Aug 25 19:56:12 2008 +0900 block: always set bdev->bd_part Till now, bdev->bd_part is set only if the bdev was for parts other than part0. This patch makes bdev->bd_part always set so that code paths don't have to differenciate common handling. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 4c46501d1659475dc6c89554af6ce7fe6ecf615c Author: Tejun Heo Date: Mon Aug 25 19:56:11 2008 +0900 block: move holder_dir from disk to part0 Move disk->holder_dir to part0->holder_dir. Kill now mostly superflous bdev_get_holder(). While at it, kill superflous kobject_get/put() around holder_dir, slave_dir and cmd_filter creation and collapse disk_sysfs_add_subdirs() into register_disk(). These serve no purpose but obfuscating the code. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit b7db9956e57c8151b930d5e5fe5c766e6aad3ff7 Author: Tejun Heo Date: Mon Aug 25 19:56:10 2008 +0900 block: move policy from disk to part0 Move disk->policy to part0->policy. Implement and use get_disk_ro(). Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit e56105214943ce5f0901d20e972a7cfd0d1d0656 Author: Tejun Heo Date: Mon Aug 25 19:56:09 2008 +0900 block: unify sysfs size node handling Now that capacity and __dev are moved to part0, part0 and others can share the same method. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 548b10eb2959c96cef6fc29fc96e0931eeb53bc5 Author: Tejun Heo Date: Fri Aug 29 09:01:47 2008 +0200 block: move __dev from disk to part0 Move disk->__dev to part0->__dev. This simplifies bdget_disk() and lookup_devt() and allows common sysfs attributes to be unified. part_to_disk() is updated to handle part0 -> disk. Updated to include a fix from Bartlomiej Zolnierkiewicz , he writes: "part0 is a "special" partition and doesn't need to have capacity set - this fixes regression caused by "block: move __dev from disk to part0" commit." Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 80795aefb76d10c5d698e60c7e7750b5330787da Author: Tejun Heo Date: Mon Aug 25 19:56:07 2008 +0900 block: move capacity from disk to part0 Move disk->capacity to part0->nr_sects and convert all users who directly accessed the field to use {get|set}_capacity(). This is done early to allow the __dev field to be moved. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit b5d0b9df0ba5d9a044f3a21e7544f53d90bd1465 Author: Tejun Heo Date: Wed Sep 3 09:06:42 2008 +0200 block: introduce partition 0 genhd and partition code handled disk and partitions separately. All information about the whole disk was in struct genhd and partitions in struct hd_struct. However, the whole disk (part0) and other partitions have a lot in common and the data structures end up having good number of common fields and thus separate code paths doing the same thing. Also, the partition array was indexed by partno - 1 which gets pretty confusing at times. This patch introduces partition 0 and makes the partition array indexed by partno. Following patches will unify the handling of disk and parts piece-by-piece. This patch also implements disk_partitionable() which tests whether a disk is partitionable. With coming dynamic partition array change, the most common usage of disk_max_parts() will be testing whether a disk is partitionable and the number of max partitions will become much less important. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit ed9e1982347b36573cd622ee5f4e2a7ccd79b3fd Author: Tejun Heo Date: Mon Aug 25 19:56:05 2008 +0900 block: implement and use {disk|part}_to_dev() Implement {disk|part}_to_dev() and use them to access generic device instead of directly dereferencing {disk|part}->dev. To make sure no user is left behind, rename generic devices fields to __dev. This is in preparation of unifying partition 0 handling with other partitions. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 870d6656126add8e383645732b03df2b7ccd4f94 Author: Tejun Heo Date: Mon Aug 25 19:47:25 2008 +0900 block: implement CONFIG_DEBUG_BLOCK_EXT_DEVT Extended devt introduces non-contiguos device numbers. This patch implements a debug option which forces most devt allocations to be from the extended area and spreads them out. This is enabled by default if DEBUG_KERNEL is set and achieves... 1. Detects code paths in kernel or userland which expect predetermined consecutive device numbers. 2. When something goes wrong, avoid corruption as adding to the minor of earlier partition won't lead to the wrong but valid device. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit f615b48cc7df7cac3865ec76ac1a5bb04d3e07f4 Author: Tejun Heo Date: Mon Aug 25 19:47:24 2008 +0900 sd/ide-disk: apply extended minors to sd and ide Update sd and ide-disk such that they can take advantage of extended minors. ide-disk already has 64 minors per device and currently doesn't use extended minors although after this patch it can be turned on by simply tweaking constants. sd only had 16 minors per device causing problems on certain peculiar configurations. This patch lifts the restriction and enables it to use upto 64 minors. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 1f0142905d4812966831613847db38a66da29eb8 Author: Tejun Heo Date: Mon Aug 25 19:47:23 2008 +0900 block: adjust formatting for large minors and add ext_range sysfs attr With extended minors and the soon-to-follow debug feature, large minor numbers for block devices will be common. This patch does the followings to make printouts pretty. * Adapt print formats such that large minors don't break the formatting. * For extended MAJ:MIN, %02x%02x for MAJ:MIN used in printk_all_partitions() doesn't cut it anymore. Update it such that %03x:%05x is used if either MAJ or MIN doesn't fit in %02x. * Implement ext_range sysfs attribute which shows total minors the device can use including both conventional minor space and the extended one. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit bcce3de1be61e424deef35d1e86e86a35c4b6e65 Author: Tejun Heo Date: Mon Aug 25 19:47:22 2008 +0900 block: implement extended dev numbers Implement extended device numbers. A block driver can tell block layer that it wants to use extended device numbers. After the usual minor space is used up, block layer automatically allocates devt's from EXT_BLOCK_MAJOR. Currently only one major number is allocated for this but as the allocation is strictly on-demand, ~1mil minor space under it should suffice unless the system actually has more than ~1mil partitions and if that ever happens adding more majors to the extended devt area is easy. Due to internal implementation issues, the first partition can't be allocated on the extended area. In other words, genhd->minors should at least be 1. This limitation will be lifted by later changes. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit c9959059161ddd7bf4670cf47367033d6b2f79c4 Author: Tejun Heo Date: Mon Aug 25 19:47:21 2008 +0900 block: fix diskstats access There are two variants of stat functions - ones prefixed with double underbars which don't care about preemption and ones without which disable preemption before manipulating per-cpu counters. It's unclear whether the underbarred ones assume that preemtion is disabled on entry as some callers don't do that. This patch unifies diskstats access by implementing disk_stat_lock() and disk_stat_unlock() which take care of both RCU (for partition access) and preemption (for per-cpu counter access). diskstats access should always be enclosed between the two functions. As such, there's no need for the versions which disables preemption. They're removed and double underbars ones are renamed to drop the underbars. As an extra argument is added, there's no danger of using the old version unconverted. disk_stat_lock() uses get_cpu() and returns the cpu index and all diskstat functions which access per-cpu counters now has @cpu argument to help RT. This change adds RCU or preemption operations at some places but also collapses several preemption ops into one at others. Overall, the performance difference should be negligible as all involved ops are very lightweight per-cpu ones. Signed-off-by: Tejun Heo Cc: Peter Zijlstra Signed-off-by: Jens Axboe commit e71bf0d0ee89e51b92776391c5634938236977d5 Author: Tejun Heo Date: Wed Sep 3 09:03:02 2008 +0200 block: fix disk->part[] dereferencing race disk->part[] is protected by its matching bdev's lock. However, non-critical accesses like collecting stats and printing out sysfs and proc information used to be performed without any locking. As partitions can come and go dynamically, partitions can go away underneath those non-critical accesses. As some of those accesses are writes, this theoretically can lead to silent corruption. This patch fixes the race by using RCU for the partition array and dev reference counter to hold partitions. * Rename disk->part[] to disk->__part[] to make sure no one outside genhd layer proper accesses it directly. * Use RCU for disk->__part[] dereferencing. * Implement disk_{get|put}_part() which can be used to get and put partitions from gendisk respectively. * Iterators are implemented to help iterate through all partitions safely. * Functions which require RCU readlock are marked with _rcu suffix. * Use disk_put_part() in __blkdev_put() instead of directly putting the contained kobject. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit f331c0296f2a9fee0d396a70598b954062603015 Author: Tejun Heo Date: Wed Sep 3 09:01:48 2008 +0200 block: don't depend on consecutive minor space * Implement disk_devt() and part_devt() and use them to directly access devt instead of computing it from ->major and ->first_minor. Note that all references to ->major and ->first_minor outside of block layer is used to determine devt of the disk (the part0) and as ->major and ->first_minor will continue to represent devt for the disk, converting these users aren't strictly necessary. However, convert them for consistency. * Implement disk_max_parts() to avoid directly deferencing genhd->minors. * Update bdget_disk() such that it doesn't assume consecutive minor space. * Move devt computation from register_disk() to add_disk() and make it the only one (all other usages use the initially determined value). These changes clean up the code and will help disk->part dereference fix and extended block device numbers. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit cf771cb5a7b716f3f9e532fd42a1e3a0a75adec5 Author: Tejun Heo Date: Wed Sep 3 09:01:09 2008 +0200 block: make variable and argument names more consistent In hd_struct, @partno is used to denote partition number and a number of other places use @part to denote hd_struct. Functions use @part and @index instead. This causes confusion and makes it difficult to use consistent variable names for hd_struct. Always use @partno if a variable represents partition number. Also, print out functions use @f or @part for seq_file argument. Use @seqf uniformly instead. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 310a2c1012934f590192377f65940cad4aa72b15 Author: Tejun Heo Date: Mon Aug 25 19:47:17 2008 +0900 block: misc updates This patch makes the following misc updates in preparation for disk->part dereference fix and extended block devt support. * implment part_to_disk() * fix comment about gendisk->part indexing * rename get_part() to disk_map_sector() * don't use n which is always zero while printing disk information in diskstats_show() Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit 88e341261ca4d39eec21b212961c77eff51105f7 Author: Tejun Heo Date: Mon Aug 25 19:30:16 2008 +0900 block: update add_partition() error handling d805dda4 tried to fix error case handling in add_partition() but had a few problems. * disk->part[] entry is set early and left dangling if operation fails. * Once device initialized, the last put_device() is responsible for freeing all the resources. The failure path freed part_stats and p regardless of put_device() causing double free. * holders subdir holds reference to the disk device, so failure path should remove it to release resources properly which was missing. This patch fixes the above problems and while at it move partition slot busy check into add_partition() for completeness and inlines holders subdirectory creation. Using separate function for it just obfuscates the code. Signed-off-by: Tejun Heo Cc: Abdel Benamrouche Signed-off-by: Jens Axboe commit ec2cdedf798385a9397ac50dd0405dd658f8529c Author: Tejun Heo Date: Mon Aug 25 19:30:15 2008 +0900 block: allow deleting zero length partition delete_partition() was noop for zero length partition. As the addition code allows creating zero lenght partition and deletion is assumed to always succeed, this causes memory leak for zero length partitions. Allow zero length partitions to end their meaningless lives. While at it, allow deleting zero lenght partition via BLKPG_DEL_PARTITION ioctl too. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit def4e38ddda9bef20b69bfa939195c2f79da7979 Author: Tejun Heo Date: Wed Sep 3 08:57:12 2008 +0200 block: use class_dev_iterator instead of class_for_each_device() Recent block_class iteration updates 5c6f35c5..27f3025 converted all class device iteration to class_for_each_device() and class_find_device(), which are correct but pain in the ass to use. This pach converts them to newly introduced class_dev_iterator so that they can use more natural control structures instead of separate callbacks and struct to pass parameters to them. This results in smaller and easier code. This patch also restores the original behavior of not printing header in /proc/partitions if there's no partition to print. This is trivial but still user-visible behavior. Signed-off-by: Tejun Heo Cc: Greg Kroah-Hartman Signed-off-by: Jens Axboe commit 2ac3cee5298a247b2774f3319b28a05f588c3f0e Author: Tejun Heo Date: Wed Sep 3 08:53:37 2008 +0200 block: don't grab block_class_lock unnecessarily block_class_lock protects major_names array and bdev_map and doesn't have anything to do with block class devices. Don't grab them while iterating over block class devices. Signed-off-by: Tejun Heo Signed-off-by: Jens Axboe commit ac65ece4eee10b03ac29ee925cadc179dc810bab Author: Tejun Heo Date: Mon Aug 25 19:30:12 2008 +0900 block: fix partition info printouts Recent block_class iteration updates 5c6f35c5..27f3025 broke partition info printouts. * printk_all_partitions(): Partition print out stops when it meets a partition hole. Partition printing inner loop should continue instead of exiting on empty partition slot. * /proc/partitions and /proc/diskstats: If all information can't be read in single read(), the information is truncated. This is because find_start() doesn't actually update the counter containing the initial seek. It runs to the end and ends up always reporting EOF on the second read. This patch fixes both problems. Signed-off-by: Tejun Heo Cc: Greg Kroah-Hartman Signed-off-by: Jens Axboe commit 5a3ceb861663040f9ef0176df4aaa494bba5e352 Author: Tejun Heo Date: Mon Aug 25 19:50:19 2008 +0200 driver-core: use klist for class device list and implement iterator Iterating over entries using callback usually isn't too fun especially when the entry being iterated over can't be manipulated freely. This patch converts class->p->class_devices to klist and implements class device iterator so that the users can freely build their own control structure. The users are also free to call back into class code without worrying about locking. class_for_each_device() and class_find_device() are converted to use the new iterators, so their users don't have to worry about locking anymore either. Note: This depends on klist-dont-iterate-over-deleted-entries patch because class_intf->add/remove_dev() depends on proper synchronization with device removal. Signed-off-by: Tejun Heo Cc: Greg Kroah-Hartman Cc: Jens Axboe Signed-off-by: Jens Axboe commit a1ed5b0cffe4b16a93a6a3390e8cee0fbef94f86 Author: Tejun Heo Date: Mon Aug 25 19:50:16 2008 +0200 klist: don't iterate over deleted entries A klist entry is kept on the list till all its current iterations are finished; however, a new iteration after deletion also iterates over deleted entries as long as their reference count stays above zero. This causes problems for cases where there are users which iterate over the list while synchronized against list manipulations and natuarally expect already deleted entries to not show up during iteration. This patch implements dead flag which gets set on deletion so that iteration can skip already deleted entries. The dead flag piggy backs on the lowest bit of knode->n_klist and only visible to klist implementation proper. While at it, drop klist_iter->i_head as it's redundant and doesn't offer anything in semantics or performance wise as klist_iter->i_klist is dereferenced on every iteration anyway. Signed-off-by: Tejun Heo Cc: Greg Kroah-Hartman Cc: Alan Stern Cc: Jens Axboe Signed-off-by: Jens Axboe commit 710027a48ede75428cc68eaa8ae2269b1e356e2c Author: Randy Dunlap Date: Tue Aug 19 20:13:11 2008 +0200 Add some block/ source files to the kernel-api docbook. Fix kernel-doc notation in them as needed. Fix changed function parameter names. Fix typos/spellos. In comments, change REQ_SPECIAL to REQ_TYPE_SPECIAL and REQ_BLOCK_PC to REQ_TYPE_BLOCK_PC. Signed-off-by: Randy Dunlap Signed-off-by: Jens Axboe commit 5b99c2ffa980528a197f26c7d876cceeccce8dd5 Author: Jens Axboe Date: Fri Aug 15 10:56:11 2008 +0200 block: make bi_phys_segments an unsigned int instead of short raid5 can overflow with more than 255 stripes, and we can increase it to an int for free on both 32 and 64-bit archs due to the padding. Signed-off-by: Jens Axboe commit 960e739d9e9f1c2346d8bdc65299ee2e1ed42218 Author: Jens Axboe Date: Fri Aug 15 10:41:18 2008 +0200 block: raid fixups for removal of bi_hw_segments Signed-off-by: Jens Axboe commit 5df97b91b5d7ed426034fcc84cb6e7cf682b8838 Author: Mikulas Patocka Date: Fri Aug 15 10:20:02 2008 +0200 drop vmerge accounting Remove hw_segments field from struct bio and struct request. Without virtual merge accounting they have no purpose. Signed-off-by: Mikulas Patocka Signed-off-by: Jens Axboe commit b8b3e16cfe6435d961f6aaebcfd52a1ff2a988c5 Author: Mikulas Patocka Date: Fri Aug 15 10:15:19 2008 +0200 block: drop virtual merging accounting Remove virtual merge accounting. Signed-off-by: Mikulas Patocka Signed-off-by: Jens Axboe commit 6a421c1dc94b12923294a359822346f12492de5e Author: Aaron Carroll Date: Thu Aug 14 18:17:15 2008 +1000 block: update documentation for deadline fifo_batch tunable Update the description of fifo_batch to match the current implementation, and include a description of how to tune it. Signed-off-by: Aaron Carroll Signed-off-by: Jens Axboe commit 4fb72f7646e86874eb2798256eaa6bf3fbe4edcf Author: Aaron Carroll Date: Thu Aug 14 18:17:14 2008 +1000 deadline-iosched: non-functional fixes * convert goto to simpler while loop; * use rq_end_sector() instead of computing manually; * fix false comments; * remove spurious whitespace; * convert rq_rb_root macro to an inline function. Signed-off-by: Aaron Carroll Signed-off-by: Jens Axboe commit 63de428b139d3d31d86ebe25ae97b33f6540fb7e Author: Aaron Carroll Date: Thu Aug 14 18:17:13 2008 +1000 deadline-iosched: allow non-sequential batching Deadline currently only batches sector-contiguous requests, so except for a few circumstances (e.g. requests in a single direction), it is essentially first come first served. This is bad for throughput, so change it to CSCAN, which means requests in a batch do not need to be sequential and are issued in increasing sector order. Signed-off-by: Aaron Carroll Signed-off-by: Jens Axboe commit 766ca4428d1239a970926856c447310c9c191af2 Author: Fernando Luis Vázquez Cao Date: Thu Aug 14 09:59:13 2008 +0200 virtio_blk: use a wrapper function to access io context information of IO requests struct request has an ioprio member but it is never updated because currently bios do not hold io context information. The implication of this is that virtio_blk ends up passing useless information to the backend driver. That said, some IO schedulers such as CFQ do store io context information in struct request, but use private members for that, which means that that information cannot be directly accessed in a IO scheduler-independent way. This patch adds a function to obtain the ioprio of a request. We should avoid accessing ioprio directly and use this function instead, so that its users do not have to care about future changes in block layer structures or what the currently active IO controller is. This patch does not introduce any functional changes but paves the way for future clean-ups and enhancements. Signed-off-by: Fernando Luis Vazquez Cao Acked-by: Rusty Russell Signed-off-by: Jens Axboe commit 1a8e2bddd5c29008f311613e75925fecbf522c5b Author: David Woodhouse Date: Wed Aug 13 12:35:09 2008 +0100 Kill REQ_TYPE_FLUSH It was only used by ps3disk, and it should probably have been REQ_TYPE_LINUX_BLOCK + REQ_LB_OP_FLUSH. Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit e17fc0a1ccf88f6d4dcb363729f3141b0958c325 Author: David Woodhouse Date: Sat Aug 9 16:42:20 2008 +0100 Allow elevators to sort/merge discard requests But blkdev_issue_discard() still emits requests which are interpreted as soft barriers, because naïve callers might otherwise issue subsequent writes to those same sectors, which might cross on the queue (if they're reallocated quickly enough). Callers still _can_ issue non-barrier discard requests, but they have to take care of queue ordering for themselves. Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit d30a2605be9d5132d95944916e8f578fcfe4f976 Author: David Woodhouse Date: Mon Aug 11 15:58:42 2008 +0100 Add BLKDISCARD ioctl to allow userspace to discard sectors We may well want mkfs tools to use this to mark the whole device as unwanted before they format it, for example. The ioctl takes a pair of uint64_ts, which are start offset and length in _bytes_. Although at the moment it might make sense for them both to be in 512-byte sectors, I don't want to limit the ABI to that. Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit 2ebca85abcfcbaaf1c0b242e39fc88ad3da90090 Author: OGAWA Hirofumi Date: Mon Aug 11 17:07:08 2008 +0100 Use WRITE_BARRIER in blkdev_issue_flush(), not (1< Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit 35ba8f7083e87602b695d6eaca38a6464d5b74db Author: David Woodhouse Date: Sun Aug 10 12:33:00 2008 +0100 blktrace: simplify flags handling in __blk_add_trace Let the compiler see what's going on, and it can all get a lot simpler. On PPC64 this reduces the size of the code calculating these bits by about 60%. On x86_64 it's less of a win -- only 40%. Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit 27b29e86bf3d4b3cf6641a0efd78ed11a9b633b2 Author: David Woodhouse Date: Sun Aug 10 11:21:57 2008 +0100 blktrace: support discard requests Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit fdc53971bce56d299cb5f1f06ecbff30b34cbaf2 Author: David Woodhouse Date: Tue Aug 5 18:08:56 2008 +0100 Support 'discard sectors' operation. We can benefit from knowing that the file system no longer cares about the contents of certain sectors, by throwing them away immediately and then never having to garbage collect them, and using the extra free space to make our operations more efficient. Do so. Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit eae9acd13a8d14b50c00a961fa959606f34bbd92 Author: David Woodhouse Date: Tue Aug 5 18:08:25 2008 +0100 Support 'discard sectors' operation in translation layer support core Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit 8c540a96c175bdf55bda8707db04cec78b816454 Author: David Woodhouse Date: Tue Aug 5 18:05:46 2008 +0100 Let the block device know when sectors can be discarded [hirofumi@mail.parknet.co.jp: discard _after_ checking for corrupt chains] Signed-off-by: David Woodhouse Acked-by: OGAWA Hirofumi Signed-off-by: Jens Axboe commit fb2dce862d9f9a68e6b9374579056ec9eca02a63 Author: David Woodhouse Date: Tue Aug 5 18:01:53 2008 +0100 Add 'discard' request handling Some block devices benefit from a hint that they can forget the contents of certain sectors. Add basic support for this to the block core, along with a 'blkdev_issue_discard()' helper function which issues such requests. The caller doesn't get to provide an end_io functio, since blkdev_issue_discard() will automatically split the request up into multiple bios if appropriate. Neither does the function wait for completion -- it's expected that callers won't care about when, or even _if_, the request completes. It's only a hint to the device anyway. By definition, the file system doesn't _care_ about these sectors any more. [With feedback from OGAWA Hirofumi and Jens Axboe Signed-off-by: Jens Axboe commit d628eaef310533767ce68664873869c2d7f78f09 Author: David Woodhouse Date: Sat Aug 9 16:22:17 2008 +0100 Fix up comments about matching flags between bio and rq Signed-off-by: David Woodhouse Signed-off-by: Jens Axboe commit 36144077bce9f89763ce994bc631cbd1c9db7785 Author: Jens Axboe Date: Thu Aug 14 13:12:15 2008 +0200 highmem: use bio_has_data() in the bounce path Signed-off-by: Jens Axboe commit 051cc3952a8fb6fa875a4eff68d06cf42207dcf4 Author: Jens Axboe Date: Fri Aug 8 11:06:45 2008 +0200 block: use bio_has_data() in the IO completion path Signed-off-by: Jens Axboe commit a9c701e594669dd49fed448c27c64f20cfacc8a7 Author: Jens Axboe Date: Fri Aug 8 11:04:44 2008 +0200 block: use bio_has_data() to check for data carrying bio Signed-off-by: Jens Axboe commit 7a67f63b3233ff28e753854fe27891c44f8588ae Author: Jens Axboe Date: Fri Aug 8 11:17:12 2008 +0200 block: add bio_has_data() to detect whether a bio carries data or not Signed-off-by: Jens Axboe commit 35e396cd100489dfe8f5a76e3613fb8049ffdff3 Author: xiphmont@xiph.org Date: Fri Aug 22 11:12:21 2008 +0200 SG_IO block filter whitelist missing MMC SET READ AHEAD command I have another request for the block filter SG_IO command whitelist, specifically the MMC streaming command set SET READ AHEAD command. The command applies only to MMC CDROM/DVDROM drives with the streaming optional feature set. The command is useful to cdparanoia in that it allows explicit cache control side effects that are, on many drives, cdparanoia's most efficient way to flush/disable the media cache on cdrom drives. I am aware of no reason why it should not be accessible from usespace. Also note that the command is already fully accessible through the SCSI-native version of the SG_IO ioctl as well as the traditional SG interface. The command is only being refused on block devices. That means that on a typical stock distro, the command is available through /dev/sg* but not /dev/scd* although both are typically available and accessible. Filtering the command is not providing any protection, only a confusing inconsistency. Signed-off-by: Jens Axboe commit d57f5f72df1b0da501c4b55e56a1040b1631c1f3 Author: Vladimir Sokolovsky Date: Wed Oct 8 20:09:01 2008 -0700 IB/mlx4: Set RLKEY bit for kernel QPs Set RLKEY bit in the HW context for kernel QPs so that kernel QPs can use the reserved L_Key for memory reference. Signed-off-by: Vladimir Sokolovsky Signed-off-by: Roland Dreier commit 724f88057609c00d6e973c3a7e0eb72f8eec2da9 Author: David S. Miller Date: Wed Oct 8 19:54:31 2008 -0700 jme: Fix warnings with CONFIG_PM disabled. drivers/net/jme.c:1598: warning: ‘jme_set_100m_half’ defined but not used drivers/net/jme.c:1618: warning: ‘jme_wait_link’ defined but not used Signed-off-by: David S. Miller commit 6dc0c97fdcf63cf65a5857ad739a41f9eac9f2fc Author: Guo-Fu Tseng Date: Wed Oct 8 19:50:44 2008 -0700 jme: Advances version number Advances the driver version after modification. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 576b5223e2caa0f19afb8ac17455759c214370ce Author: akeemting Date: Wed Oct 8 19:50:03 2008 -0700 jme: Faulty IRQ handle bug fix Fix IRQ handle bug when interrupt mode. The driver was incorrectly handled and returned IRQ_HANDLED while the device is not generating the interrupt. It happened due to faulty determination of interrupt status register. Found by: "Ethan" Fixed by: "akeemting" Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit a821ebe580c535e3e8e354c6ab10516a0e95e202 Author: Guo-Fu Tseng Date: Wed Oct 8 19:48:58 2008 -0700 jme: Added half-duplex mode and IPv6 RSS fix 1. Set bit 5 of GPREG1 to 1 to enable hardware workaround for half-duplex mode. Which the MAC processor generates CRS/COL by itself instead of receive it from PHY processor. 2. Set bit 6 of GPREG1 to 1 to enable hardware workaround that masks the MAC processor working right while calculating IPv6 RSS in 10/100 mode. 3. Group the workaround codes all together. Signed-off-by: Guo-Fu Tseng Signed-off-by: David S. Miller commit 0ce2f03bade2046d6eb6184d52d065688382d7bd Author: Divy Le Ray Date: Wed Oct 8 17:40:28 2008 -0700 cxgb3: Add 1G fiber support Add support for 1G optical Vitesse PHY. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 1e8820256f9921370cd7423396871e2d850e0323 Author: Divy Le Ray Date: Wed Oct 8 17:40:07 2008 -0700 cxgb3: Support for Aeluros 2005 PHY Add support for SR PHY. Auto-detect phy module type, and report type changes. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 9b1e36566c5fafbcc732c971acfcf8580332931a Author: Divy Le Ray Date: Wed Oct 8 17:39:31 2008 -0700 cxgb3: commnonize LASI phy code Add generic code to manage interrupt driven PHYs. Do not reset the phy after link parameters update, the new values might get lost. Return early from link change notification when the link parameters remain unchanged. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit f231e0a5a2d01da40515c24f1daa689fe8cfd8d7 Author: Divy Le Ray Date: Wed Oct 8 17:39:00 2008 -0700 cxgb3: More flexible support for PHY interrupts. Do not require PHY interrupts to be connected to GPIs in ascending order. Base interrupt availability both on PHYs supporting them and on GPIs being hooked up. Allows boards to specify interrupt GPIs though the PHYs don't use them. Remove spurious PHY interrupts due to clearing T3DBG interrupts before setting their polarity. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 044979827eda13675abab99879ebe3ea535d59fa Author: Divy Le Ray Date: Wed Oct 8 17:38:29 2008 -0700 cxgb3: simplify port type struct and usage Second step in overall phy layer reorganization. Clean up the port_type_info structure. Support coextistence of clause 22 and clause 45 MDIO devices. Select the type of MDIO transaction on a per transaction basis. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 78e4689e908adc8334272756c32c9218d1967408 Author: Divy Le Ray Date: Wed Oct 8 17:38:01 2008 -0700 cxgb3: allow for PHY reset status First step towards overall PHY layering re-organization. Allow a status return when a PHY is reset. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 8c26376112fb4b8dfea42069b602c03d53366052 Author: Divy Le Ray Date: Wed Oct 8 17:37:33 2008 -0700 cxgb3: Allocate multiqueues at init time Allocate a queue set per core, up to the maximum of available qsets. Share the queue sets on multi port adapters. Rename MSI-X interrupt vectors ethX-N, N being the queue set number. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 20d3fc11505a2706a33b4c9a932af036d836727f Author: Divy Le Ray Date: Wed Oct 8 17:36:03 2008 -0700 cxgb3: reset the adapter on fatal error when a fatal error occurs, bring ports down, reset the chip, and bring ports back up. Factorize code used for both EEH and fatal error recovery. Fix timer usage when bringing up/resetting sge queue sets. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 45cec1bac0719c904bb5f4405c2937f7e715888c Author: David S. Miller Date: Wed Oct 8 17:33:01 2008 -0700 dsa: Need to select PHYLIB. Signed-off-by: David S. Miller commit 2e16a77e1e674644b4fe552daa1fb11e32398ae6 Author: Lennert Buytenhek Date: Tue Oct 7 13:46:22 2008 +0000 dsa: add support for the Marvell 88E6060 switch chip Add support for the Marvell 88E6060 switch chip. This chip only supports the Header and Trailer tagging formats, and we use it in Trailer mode since that mode is slightly easier to handle than Header mode. Signed-off-by: Lennert Buytenhek Tested-by: Byron Bradley Tested-by: Tim Ellis Signed-off-by: David S. Miller commit 396138f03f4521c55ecc3a5dd75d4c56e6323244 Author: Lennert Buytenhek Date: Tue Oct 7 13:46:07 2008 +0000 dsa: add support for Trailer tagging format This adds support for the Trailer switch tagging format. This is another tagging that doesn't explicitly mark tagged packets with a distinct ethertype, so that we need to add a similar hack in the receive path as for the Original DSA tagging format. Signed-off-by: Lennert Buytenhek Tested-by: Byron Bradley Tested-by: Tim Ellis Signed-off-by: David S. Miller commit 2e5f032095ff101274dfb03d5fd5e06d9aeb83cd Author: Lennert Buytenhek Date: Tue Oct 7 13:45:18 2008 +0000 dsa: add support for the Marvell 88E6131 switch chip Add support for the Marvell 88E6131 switch chip. This chip only supports the original (ethertype-less) DSA tagging format. On the 88E6131, there is a PHY Polling Unit (PPU) which has exclusive access to each of the PHYs's MII management registers. If we want to talk to the PHYs from software, we have to disable the PPU and wait for it to complete its current transaction before we can do so, and we need to re-enable the PPU afterwards to make sure that the switch will notice changes in link state and speed on the individual ports as they occur. Since disabling the PPU is rather slow, and since MII management accesses are typically done in bursts, this patch keeps the PPU disabled for 10ms after a software access completes. This makes handling the PPU slightly more complex, but speeds up something like running ethtool on one of the switch slave interfaces from ~300ms to ~30ms on typical hardware. Signed-off-by: Lennert Buytenhek Tested-by: Nicolas Pitre Tested-by: Peter van Valderen Tested-by: Dirk Teurlings Signed-off-by: David S. Miller commit cf85d08fdf4548ee46657ccfb7f9949a85145db5 Author: Lennert Buytenhek Date: Tue Oct 7 13:45:02 2008 +0000 dsa: add support for original DSA tagging format Most of the DSA switches currently in the field do not support the Ethertype DSA tagging format that one of the previous patches added support for, but only the original DSA tagging format. The original DSA tagging format carries the same information as the Ethertype DSA tagging format, but with the difference that it does not have an ethertype field. In other words, when receiving a packet that is tagged with an original DSA tag, there is no way of telling in eth_type_trans() that this packet is in fact a DSA-tagged packet. This patch adds a hook into eth_type_trans() which is only compiled in if support for a switch chip that doesn't support Ethertype DSA is selected, and which checks whether there is a DSA switch driver instance attached to this network device which uses the old tag format. If so, it sets the protocol field to ETH_P_DSA without looking at the packet, so that the packet ends up in the right place. Signed-off-by: Lennert Buytenhek Tested-by: Nicolas Pitre Tested-by: Peter van Valderen Tested-by: Dirk Teurlings Signed-off-by: David S. Miller commit 91da11f870f00a3322b81c73042291d7f0be5a17 Author: Lennert Buytenhek Date: Tue Oct 7 13:44:02 2008 +0000 net: Distributed Switch Architecture protocol support Distributed Switch Architecture is a protocol for managing hardware switch chips. It consists of a set of MII management registers and commands to configure the switch, and an ethernet header format to signal which of the ports of the switch a packet was received from or is intended to be sent to. The switches that this driver supports are typically embedded in access points and routers, and a typical setup with a DSA switch looks something like this: +-----------+ +-----------+ | | RGMII | | | +-------+ +------ 1000baseT MDI ("WAN") | | | 6-port +------ 1000baseT MDI ("LAN1") | CPU | | ethernet +------ 1000baseT MDI ("LAN2") | |MIImgmt| switch +------ 1000baseT MDI ("LAN3") | +-------+ w/5 PHYs +------ 1000baseT MDI ("LAN4") | | | | +-----------+ +-----------+ The switch driver presents each port on the switch as a separate network interface to Linux, polls the switch to maintain software link state of those ports, forwards MII management interface accesses to those network interfaces (e.g. as done by ethtool) to the switch, and exposes the switch's hardware statistics counters via the appropriate Linux kernel interfaces. This initial patch supports the MII management interface register layout of the Marvell 88E6123, 88E6161 and 88E6165 switch chips, and supports the "Ethertype DSA" packet tagging format. (There is no officially registered ethertype for the Ethertype DSA packet format, so we just grab a random one. The ethertype to use is programmed into the switch, and the switch driver uses the value of ETH_P_EDSA for this, so this define can be changed at any time in the future if the one we chose is allocated to another protocol or if Ethertype DSA gets its own officially registered ethertype, and everything will continue to work.) Signed-off-by: Lennert Buytenhek Tested-by: Nicolas Pitre Tested-by: Byron Bradley Tested-by: Tim Ellis Tested-by: Peter van Valderen Tested-by: Dirk Teurlings Signed-off-by: David S. Miller commit 176eaa589b3d242f25f24e472883fcce5f196777 Author: Andreas Oberritter Date: Wed Oct 8 06:14:16 2008 +0000 8139too: move wmb before TX DMA start The write barrier should be used before starting a DMA transfer. This fixes a problem, where almost all packets received on another machine had garbled content. Tested with an RTL8100C on a MIPS machine. Signed-off-by: Andreas Oberritter Signed-off-by: David S. Miller commit ed4cb1337b7c23b91a0f01f661c3f004fc3d3c1a Author: Arjan van de Ven Date: Sun Oct 5 07:35:05 2008 +0000 netdev: uniquify the tx_timeout name there's several drivers that have use "tx_timeout" for the .. tx timeout function. All fine with that, they're static, however for doing stats on how often which driver hits the timeout it's a tad unfortunate. The patch below gives the ones I found in the kerneloops.org database unique names. Signed-off-by: Arjan van de Ven Signed-off-by: David S. Miller commit 21ce4ffb333e169650a0a05013a8cd3a5b459a67 Author: David Brownell Date: Sat Oct 4 22:11:12 2008 +0000 drivers/net/usb/Makefile - shrink logspam When building with CONFIG_USB_DEBUG, don't create logspam from the USB networking drivers. Signed-off-by: David Brownell Signed-off-by: David S. Miller commit 8b76ab39196edd459d209f6d6a075fa15e9da232 Author: Bruno Prémont Date: Wed Oct 8 17:06:25 2008 -0700 r8169: WoL fixes, part 2. Since recent kernel (2.6.26 or 2.6.27) the PCI wakeup functions are influenced by generic device ability and configuration when enabling PCI-device triggered wake-up. This patch causes WoL setting to enable/disable device's wish to be permitted to wake-up the host when changing WoL options and also during device probing. Without this patch one has write 'enabled' to /sys/bus/pci/devices/0000:02:08.0/power/wakeup Signed-off-by: Bruno Prémont Acked-by: Rafael J. Wysocki Signed-off-by: David S. Miller commit 20037fa407f26716866eff95221c4882babe1280 Author: Bruno Prémont Date: Wed Oct 8 17:05:03 2008 -0700 r8169: WoL fixes, part 1. When probing the chip and handling it's power management settings also remember wether WoL feature is enabled. Without this patch one has to call ethtool to change WoL settings for this flag to be set and any WoL being enabled on suspend to RAM. Signed-off-by: Bruno Prémont Signed-off-by: David S. Miller commit d3eab82b554eeb51f038ac327b6c68c6afdee978 Author: Trent Piepho Date: Thu Oct 2 11:12:24 2008 +0000 gianfar: Create net device with carrier down The device's carrier status is controlled via the functions netif_carrier_on() and netif_carrier_off(). These set or clear a bit indicating the carrier (aka lower level link) is down, and if the state changed, they fire off a routing netlink event. Add a call to netif_carrier_off() before register_netdev() so that the newly created device will be set to carrier down. Then when the carrier comes up for the first time, a netlink event will be generated, as the carrier changed from down to up. Otherwise the initial carrier up will appear to be changing the status from up to up, and so no event is generated since that's not a change. Signed-off-by: Trent Piepho Signed-off-by: David S. Miller commit c3efab8ed4755e26962704731322bafdf5022f98 Author: Lennert Buytenhek Date: Thu Oct 2 00:52:39 2008 +0000 mv643xx_eth: include linux/ip.h to fix build mv643xx_eth uses ip_hdr() (defined in linux/ip.h), but relied on another header file to include the needed header file indirectly. In latest net-next this indirect include chain is gone, so the driver fails to build. Include linux/ip.h explicitly to fix this. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit f47aeffd6089ed7a0cd18073e88cd505f188b0b7 Author: Jarek Poplawski Date: Tue Sep 30 20:58:25 2008 +0000 lib8390: Fix locking in ei_poll (poll controller) This lockdep warning: ================================= [ INFO: inconsistent lock state ] 2.6.27-rc7 #3 --------------------------------- inconsistent {in-softirq-W} -> {softirq-on-W} usage. syslogd/2474 [HC0[0]:SC0[0]:HE1:SE1] takes: (_xmit_ETHER#2){-+..}, at: [] netpoll_send_skb+0x132/0x190 ... is caused by unconditional local_irq_disable()/local_irq_enable() in disable_irq_lockdep()/enable_irq_lockdep() used by __ei_poll(). Since netconsole/netpoll always calls dev->poll_controller() with local irqs disabled, disable_irq()/enable_irq() instead is safe and enough (like e.g. in 3c509 or 8139xx drivers). Reported-and-tested-by: Bernard Pidoux F6BVP Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 23e55a32ca1ffdbe7a492ef99f0e0ac48e504a13 Author: Brandeburg, Jesse Date: Tue Sep 30 13:08:48 2008 +0000 ixgb: fix bug when freeing resources It was pointed out by Breno Leitao that ixgb would crash on PPC when an IOMMU was in use, if change_mtu was called. It appears to be a pretty simple issue in the driver that wasn't discovered because most systems don't run with an IOMMU. The driver needs to only unmap buffers that are mapped (duh). CC: Breno Leitao Signed-off-by: Jesse Brandeburg Signed-off-by: David S. Miller commit 1694f25b4beb80b911fb21efcff36acca39aa696 Author: Arthur Jones Date: Mon Sep 29 11:51:09 2008 +0000 e1000e: release hw semaphore after successfully writing EEPROM Since e1000e has been existance in linux-2.6, we've never released the hardware semaphore after a successful write to the SPI EEPROM. I guess we don't write to SPI EEPROM much -- but those few of us that do appreciate it when we can later read from the EEPROM without having to reboot. Found-by: Nick Van Fossen Signed-off-by: Arthur Jones Reviewed-by: Auke Kok Signed-off-by: David S. Miller commit 2f7ca802bdae2ca41022618391c70c2876d92190 Author: Steve Glendinning Date: Thu Oct 2 05:27:57 2008 +0000 net: Add SMSC LAN9500 USB2.0 10/100 ethernet adapter driver Attached is a driver for SMSC's LAN9500 USB2.0 10/100 ethernet adapter. Signed-off-by: Steve Glendinning Signed-off-by: David S. Miller commit 2e888103295f47b8fcbf7e9bb8c5da97dd2ecd76 Author: Lennert Buytenhek Date: Mon Sep 29 17:12:35 2008 +0000 phylib: add mdiobus_{read,write} Add mdiobus_{read,write} routines to allow direct reading/writing of registers on an mii bus without having to go through the PHY abstraction, and make phy_{read,write} use these primitives. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 46abc02175b3c246dd5141d878f565a8725060c9 Author: Lennert Buytenhek Date: Wed Oct 8 16:33:40 2008 -0700 phylib: give mdio buses a device tree presence Introduce the mdio_bus class, and give each 'struct mii_bus' its own 'struct device', so that mii_bus objects are represented in the device tree and can be found by querying the device tree. Signed-off-by: Lennert Buytenhek Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 298cf9beb9679522de995e249eccbd82f7c51999 Author: Lennert Buytenhek Date: Wed Oct 8 16:29:57 2008 -0700 phylib: move to dynamic allocation of struct mii_bus This patch introduces mdiobus_alloc() and mdiobus_free(), and makes all mdio bus drivers use these functions to allocate their struct mii_bus'es dynamically. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller Acked-by: Andy Fleming commit 18ee49ddb0d242ed1d0e273038d5e4f6de7379d3 Author: Lennert Buytenhek Date: Wed Oct 1 15:41:33 2008 +0000 phylib: rename mii_bus::dev to mii_bus::parent In preparation of giving mii_bus objects a device tree presence of their own, rename struct mii_bus's ->dev argument to ->parent, since having a 'struct device *dev' that points to our parent device conflicts with introducing a 'struct device dev' representing our own device. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller Acked-by: Andy Fleming commit 236bb5e649c2a7e8398b87df5e643368408afb4a Author: Brice Goglin Date: Sun Sep 28 15:34:21 2008 +0000 myri10ge: add multiqueue TX Add multiqueue TX support to myri10ge. [ Removed reference to deprecated CONFIG_NETDEVICES_MULTIQUEUE and NETIF_F_MULTI_QUEUE ] Signed-off-by: Brice Goglin Signed-off-by: David S. Miller commit c8f2d9bc12ea05a88b1920a7c887b67de60c52a5 Author: Jay Cliburn Date: Sat Sep 27 04:17:23 2008 +0000 atl1: update introductory comments Update the driver's introductory comments. Signed-off-by: Jay Cliburn Signed-off-by: David S. Miller commit a6d1f369736cb8b36b53b938ec9eea4a7d5f2196 Author: Jay Cliburn Date: Sat Sep 27 04:17:22 2008 +0000 atl1: remove EXPERIMENTAL label Remove the EXPERIMENTAL label from the atl1 driver and change the vendor name to include Attansic's successor, Atheros. We'll leave Attansic in the name since Attansic's PCI ID (1969) is encoded in the PCI config and is what users encounter on their systems. Signed-off-by: Jay Cliburn Signed-off-by: David S. Miller commit e1098328e8d201c2d3966f2fc14f14eb42120d83 Author: Jay Cliburn Date: Sat Sep 27 04:17:21 2008 +0000 atl1: remove LLTX NETIF_F_LLTX is deprecated. Remove private TX locking from the driver and remove the NETIF_F_LLTX feature flag. Signed-off-by: Jay Cliburn Signed-off-by: David S. Miller commit b29be6d3f215ac42651545e89afecc7d9e6a10db Author: Jay Cliburn Date: Sat Sep 27 04:17:20 2008 +0000 atl1: fix transmit timeout bug See http://marc.info/?l=linux-netdev&m=121931988219314&w=2 Stop the queue and turn off carrier to prevent transmit timeouts when the cable is unplugged/replugged. Signed-off-by: Jay Cliburn Cc: Alexey Dobriyan Signed-off-by: David S. Miller commit e824b3eb4acad16c64c9ddf8e63b63e2469259b0 Author: Wang Chen Date: Fri Sep 26 16:20:32 2008 +0800 skge: Fix skge_set_ring_param() losing error return The error return is useful to caller, driver shouldn't miss it. Signed-off-by: Wang Chen Signed-off-by: David S. Miller commit 9ac1353f3832716eb25268c0cd06c93080a83c7b Author: Xiaoming.Zhang Date: Thu Sep 25 20:28:05 2008 +0000 [10/21] driver/net/skge.c: restart the interface when it's options or pauseparam is set On Wednesday 24 September 2008 07:47, Stephen Hemminger wrote: > On Mon, 22 Sep 2008 14:52:17 -0700 > > akpm@linux-foundation.org wrote: > > From: "Xiaoming.Zhang" > > > > We have an issue of the skge driver: The card won't work when it's > > options are changed. Here's the hardware info: > > > > # lspci -v > > 05:04.0 Ethernet controller: Marvell Technology Group Ltd. 88E8001 > > Gigabit Ethernet Controller (rev 13) Subsystem: Marvell Technology Group > > Ltd. Marvell RDK-8001 Flags: bus master, 66MHz, medium devsel, latency > > 32, IRQ 16 Memory at d042c000 (32-bit, non-prefetchable) [size=16K] I/O > > ports at d000 [size=256] > > [virtual] Expansion ROM at 20400000 [disabled] [size=128K] > > Capabilities: [48] Power Management version 2 > > Capabilities: [50] Vital Product Data > > > > The happens in both Linux-2.6.26(skge version 1.23) and RHEL5.2(skge > > version 1.6). > > > > For example, at first it is set to "speed 1000 duplex full auto-neg on" > > and it works, then run > > > > ethtool -s autoneg off > > or ethtool -s speed 100 duplex full autoneg off > > > > Then it will stop working. After that if we restart the interface: > > > > ifconifg down > > ifconfig up > > > > It will work again. And `ethtool -A' has the same issue. > > > > So we think after setting the options, the interface should be restarted. > > > > Signed-off-by: Zhang Xiaoming > > Cc: Stephen Hemminger > > Cc: Jeff Garzik > > Signed-off-by: Andrew Morton > > --- > > > > drivers/net/skge.c | 12 ++++++++---- > > 1 file changed, 8 insertions(+), 4 deletions(-) > > > > diff -puN > > drivers/net/skge.c~driver-net-skgec-restart-the-interface-when-its-option > >s-or-pauseparam-is-set drivers/net/skge.c --- > > a/drivers/net/skge.c~driver-net-skgec-restart-the-interface-when-its-opti > >ons-or-pauseparam-is-set +++ a/drivers/net/skge.c > > @@ -353,8 +353,10 @@ static int skge_set_settings(struct net_ > > skge->autoneg = ecmd->autoneg; > > skge->advertising = ecmd->advertising; > > > > - if (netif_running(dev)) > > - skge_phy_reset(skge); > > + if (netif_running(dev)) { > > + skge_down(dev); > > + skge_up(dev); > > + } > > > > return (0); > > } > > @@ -595,8 +597,10 @@ static int skge_set_pauseparam(struct ne > > skge->flow_control = FLOW_MODE_NONE; > > } > > > > - if (netif_running(dev)) > > - skge_phy_reset(skge); > > + if (netif_running(dev)) { > > + skge_down(dev); > > + skge_up(dev); > > + } > > > > return 0; > > } > > Since skge_up can fail because of out of memory, this code needs to > check the return value. And then if it fails the "limbo state" needs > to be handled in skge_down. How about like this? It is tested. Thank you. Signed-off-by: Zhang Xiaoming Signed-off-by: David S. Miller commit 0ca41c0413a4d9ca58767d53d23accea9aa1cdef Author: Divy Le Ray Date: Thu Sep 25 14:05:28 2008 +0000 [2.6.28,1/1] cxgb3 - fix race in EEH A SGE queue set timer might access registers while in EEH recovery, triggering an EEH error loop. Stop all timers early in EEH process. Signed-off-by: Divy Le Ray Signed-off-by: David S. Miller commit 822f1a57d2ad957ae16b987115251539876aef26 Author: Francois Romieu Date: Wed Oct 8 15:55:15 2008 -0700 via-velocity: Fix warnings on sparc64. As reported by Meelis Roos. Signed-off-by: David S. Miller commit 87241840b214734c023bda83372059de3f7eeabd Author: Kevin Hao Date: Thu Sep 25 16:20:11 2008 +0000 net: remove LLTX in atl2 driver When NETIF_F_LLTX is set, the atlx driver will use a private lock. But in recent kernels this implementation seems redundant and can cause problems where AF_PACKET sees things twice. Since NETIF_F_LLTX is marked as deprecated and shouldn't be used in new driver, this patch removes NETIF_F_LLTX and adds a mmiowb before sending packet. I have tested this driver on a Eee PC. It works well. Signed-off-by: Kevin Hao Acked-by: Jay Cliburn Signed-off-by: David S. Miller commit 0acb28396728f42b6b1553c85d27c37513796043 Author: Trent Piepho Date: Wed Oct 8 15:46:57 2008 -0700 phylib: Wake PHY state machine on interrupt This way the phy layer will respond to a change in phy state immediately, instead of up to one second later when the state machine timer runs. Signed-off-by: Trent Piepho Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 51e2a3846eab18711f4eb59cd0a4c33054e2980a Author: Trent Piepho Date: Wed Sep 24 10:55:46 2008 +0000 PHY: Avoid unnecessary aneg restarts The PHY's aneg is configured and restarted whenever the link is brought up, e.g. when DHCP is started after the kernel has booted. This can take the link down for several seconds while auto-negotiation is redone. If the advertised features haven't changed, then it shouldn't be necessary to bring down the link and start auto-negotiation over again. genphy_config_advert() is enhanced to return 0 when the advertised features haven't been changed and >0 when they have been. genphy_config_aneg() then uses this information to not call genphy_restart_aneg() if there has been no change. Signed-off-by: Trent Piepho Acked-by: Andy Fleming Signed-off-by: David S. Miller commit 7bf6bf4803df1adc927f585168d2135fb019c698 Author: Ivan Vecera Date: Tue Sep 23 22:46:29 2008 +0000 r8169: read MAC address from EEPROM on init Reviewed-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 8d1b1fc9b97ad4de40c063ce3d213895c06fa116 Author: Kevin Hao Date: Fri Sep 19 21:56:44 2008 +0000 net: add net poll support for atl2 driver Add netconsole support for Atheros L2 10/100 network device. Signed-off-by: Kevin Hao Acked-by: Jay Cliburn Signed-off-by: David S. Miller commit 6fbc779c03591ee536fef9efb7d7e20f281d0b5c Author: Victor Gallardo Date: Thu Sep 18 12:41:26 2008 +0000 ibm_newemac: Fix EMAC soft reset on 460EX/GT This patch fixes EMAC soft reset on 460EX/GT when no external clock is available. Signed-off-by: Victor Gallardo Signed-off-by: David S. Miller commit c6d6a511d768cf7627ab54fc18f40edf85097362 Author: Lennert Buytenhek Date: Thu Sep 18 03:06:52 2008 +0000 phylib: phy_mii_ioctl() fixes Make the SIOCGMIIPHY case fall through properly (it is supposed to not only return the ID of the default PHY but also to read from that PHY), and make phy_mii_ioctl() return the same error code as generic_mii_ioctl() in case of an unsupported operation. Signed-off-by: Lennert Buytenhek Acked-by: Andy Fleming Signed-off-by: David S. Miller commit cdbb92b31d3c465aa96bd09f2d42c39b87b32bee Merge: 2ec2b48... 6984937... Author: Ingo Molnar Date: Thu Oct 9 00:17:25 2008 +0200 Merge branch 'linus' into core/rcu commit 4dd565134ece7e5d528d4c5288879310c54419e9 Merge: 071d7ab... 6984937... Author: David S. Miller Date: Wed Oct 8 14:56:41 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/e1000e/ich8lan.c drivers/net/e1000e/netdev.c commit e2f5e7333a2fb51ef9e45280c3da9ca3bde65fde Author: Chien Tung Date: Wed Oct 8 14:43:29 2008 -0700 RDMA/nes: Correct error_module bit mask error_module is 5 bits wide not 4. The corresponding crit_error_count array is correct with 32 entries. Signed-off-by: Chien Tung -- drivers/infiniband/hw/nes/nes_hw.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) Signed-off-by: Roland Dreier commit 071d7ab6649eb34a873a53e71635186e9117101d Author: Sven Wegener Date: Wed Oct 8 14:41:35 2008 -0700 ipvs: Remove stray file left over from ipvs move Commit cb7f6a7b716e801097b564dec3ccb58d330aef56 ("IPVS: Move IPVS to net/netfilter/ipvs") has left a stray file in the old location of ipvs. Signed-off-by: Sven Wegener Signed-off-by: David S. Miller commit 53b125779fb0b29e5b316bf3dc7d199e6dcea567 Author: Ilpo Järvinen Date: Wed Oct 8 14:36:33 2008 -0700 tcpv6: fix option space offsets with md5 More breakage :-), part of timestamps just were previously overwritten. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit db2bf2476b2d99d91b4ce87e102dd3a61e92366f Merge: 0201518... a5e8546... Author: David S. Miller Date: Wed Oct 8 14:26:36 2008 -0700 Merge branch 'lvs-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/lvs-2.6 Conflicts: net/netfilter/Kconfig commit 02015180e2509afd2e3fe3790a333b30708a116b Author: Vlad Yasevich Date: Wed Oct 8 14:19:01 2008 -0700 sctp: shrink sctp_tsnmap some more by removing gabs array The gabs array in the sctp_tsnmap structure is only used in one place, sctp_make_sack(). As such, carrying the array around in the sctp_tsnmap and thus directly in the sctp_association is rather pointless since most of the time it's just taking up space. Now, let sctp_make_sack create and populate it and then throw it away when it's done. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 8e1ee18c332e08bee9d8bd66e63cd564fbf17fc2 Author: Vlad Yasevich Date: Wed Oct 8 14:18:39 2008 -0700 sctp: Rework the tsn map to use generic bitmap. The tsn map currently use is 4K large and is stuck inside the sctp_association structure making memory references REALLY expensive. What we really need is at most 4K worth of bits so the biggest map we would have is 512 bytes. Also, the map is only really usefull when we have gaps to store and report. As such, starting with minimal map of say 32 TSNs (bits) should be enough for normal low-loss operations. We can grow the map by some multiple of 32 along with some extra room any time we receive the TSN which would put us outside of the map boundry. As we close gaps, we can shift the map to rebase it on the latest TSN we've seen. This saves 4088 bytes per association just in the map alone along savings from the now unnecessary structure members. Signed-off-by: Vlad Yasevich Signed-off-by: David S. Miller commit 3c689b7320ae6f20dba6a8b71806a6c6fd604ee8 Author: Eric Dumazet Date: Wed Oct 8 14:18:04 2008 -0700 inet: cleanup of local_port_range I noticed sysctl_local_port_range[] and its associated seqlock sysctl_local_port_range_lock were on separate cache lines. Moreover, sysctl_local_port_range[] was close to unrelated variables, highly modified, leading to cache misses. Moving these two variables in a structure can help data locality and moving this structure to read_mostly section helps sharing of this data among cpus. Cleanup of extern declarations (moved in include file where they belong), and use of inet_get_local_port_range() accessor instead of direct access to ports values. Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit b77d753c413e02559669df66e543869dad40c847 Author: Steve French Date: Wed Oct 8 19:13:46 2008 +0000 [CIFS] Check that last search entry resume key is valid Jeff's recent patch to add a last_entry field in the search structure to better construct resume keys did not validate that the server sent us a plausible pointer to the last entry. This adds that. Signed-off-by: Steve French commit 9088c5609584684149f3fb5b065aa7f18dcb03ff Author: Eric Dumazet Date: Wed Oct 8 11:44:17 2008 -0700 udp: Improve port randomization Current UDP port allocation is suboptimal. We select the shortest chain to chose a port (out of 512) that will hash in this shortest chain. First, it can lead to give not so ramdom ports and ease give attackers more opportunities to break the system. Second, it can consume a lot of CPU to scan all table in order to find the shortest chain. Third, in some pathological cases we can fail to find a free port even if they are plenty of them. This patch zap the search for a short chain and only use one random seed. Problem of getting long chains should be addressed in another way, since we can obtain long chains with non random ports. Based on a report and patch from Vitaly Mayatskikh Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller commit 53e915034970935596703a6005cde27c2128b5c3 Author: Jarek Poplawski Date: Wed Oct 8 11:36:22 2008 -0700 pkt_sched: Update qdisc requeue stats in dev_requeue_skb() After the last change of requeuing there is no info about such incidents in tc stats. This patch updates the counter, but we should consider this should differ from previous stats because of additional checks preventing to repeat this. On the other hand, previous stats didn't include requeuing of gso_segmented skbs. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 52cd5750e81ec8d213949fa7c0d2e08907bf498b Author: Ilpo Järvinen Date: Wed Oct 8 11:34:06 2008 -0700 tcp: fix length used for checksum in a reset While looking for some common code I came across difference in checksum calculation between tcp_v6_send_(reset|ack) I couldn't explain. I checked both v4 and v6 and found out that both seem to have the same "feature". I couldn't find anything in rfc nor anywhere else which would state that md5 option should be ignored like it was in case of reset so I came to a conclusion that this is probably a genuine bug. I suspect that addition of md5 just was fooled by the excessive copy-paste code in those functions and the reset part was never tested well enough to find out the problem. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 2ca89cea5c9fdafd495fb840fa055383d253174e Author: Denis V. Lunev Date: Wed Oct 8 10:36:24 2008 -0700 ipv6: remove unused not init_ipv6_mibs/cleanup_ipv6_mibs Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 9261e53701121f83eb9482347d68833e95315362 Author: Denis V. Lunev Date: Wed Oct 8 10:36:03 2008 -0700 ipv6: making ip and icmp statistics per/namespace Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 087fe24033c4280a15b03cce41eaec844c92f8e5 Author: Denis V. Lunev Date: Wed Oct 8 10:35:11 2008 -0700 ipv6: added net argument to _DEVINC/_DEVADD Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 55d43808eb26e689dacb95b11f956a3b1a56a5f3 Author: Denis V. Lunev Date: Wed Oct 8 10:34:54 2008 -0700 ipv6: added net argument to ICMP6MSGIN_INC_STATS_BH Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a712d3e859b78edc44d5664d867626d3022bd18e Author: Denis V. Lunev Date: Wed Oct 8 10:34:35 2008 -0700 ipv6: ICMP6MSGIN_INC_STATS is not used Removed. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 5a57d4c7fdac0e227efe8c5739fcbb263d9ae993 Author: Denis V. Lunev Date: Wed Oct 8 10:34:14 2008 -0700 ipv6: added net argument to ICMP6MSGOUT_INC_STATS_BH Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 5c5d244bd388fe498dd7f5f57cb7770aae40b9ab Author: Denis V. Lunev Date: Wed Oct 8 10:33:50 2008 -0700 ipv6: added net argument to ICMP6MSGOUT_INC_STATS Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e41b5368e029e79d11acb5952bc73284e5026c62 Author: Denis V. Lunev Date: Wed Oct 8 10:33:26 2008 -0700 ipv6: added net argument to ICMP6_INC_STATS_BH Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit a862f6a6dc89c57dd3a959a1636b59f0c27169c2 Author: Denis V. Lunev Date: Wed Oct 8 10:33:06 2008 -0700 ipv6: added net argument to ICMP6_INC_STATS Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 821d57776d4dda47ef5f0c33fdb3c761214b2f9f Author: Denis V. Lunev Date: Wed Oct 8 10:32:43 2008 -0700 ipv6: added net argument to IP6_ADD_STATS_BH Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 483a47d2fe794328d29950fe00ce26dd405d9437 Author: Denis V. Lunev Date: Wed Oct 8 11:09:27 2008 -0700 ipv6: added net argument to IP6_INC_STATS_BH Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 3bd653c8455bc7991bae77968702b31c8f5df883 Author: Denis V. Lunev Date: Wed Oct 8 10:54:51 2008 -0700 netns: add net parameter to IP6_INC_STATS Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 98b3377ca77a06a7bd75a444e9f7136e9bb5112e Author: Denis V. Lunev Date: Wed Oct 8 10:31:44 2008 -0700 ipv6: consolidate error paths in ipv6_frag_rcv Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0b0588d42b2774734b51525fe6550d77f8ea9bc0 Author: Denis V. Lunev Date: Wed Oct 8 10:31:18 2008 -0700 ipv6: local dev is actually unused in ip6_fragment Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 364ae953a48152be11f1aa424cbfd943b7762b0d Merge: 075f664... f39a941... Author: David S. Miller Date: Wed Oct 8 09:50:38 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6 commit 2fb7635c4cea310992a39580133099dd99ad151c Author: Peter Zijlstra Date: Wed Oct 8 09:16:04 2008 +0200 sched: sync wakeups vs avg_overlap While looking at the code I wondered why we always do: sync && avg_overlap < migration_cost Which is a bit odd, since the overlap test was meant to detect sync wakeups so using it to specialize sync wakeups doesn't make much sense. Hence change the code to do: sync || avg_overlap < migration_cost Signed-off-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit f39a9410ed0503278fd5edc559fa019051413039 Author: Jan Engelhardt Date: Wed Oct 8 11:35:20 2008 +0200 netfilter: xtables: remove bogus mangle table dependency of connmark Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit ab4f21e6fb1c09b13c4c3cb8357babe8223471bd Author: Jan Engelhardt Date: Wed Oct 8 11:35:20 2008 +0200 netfilter: xtables: use NFPROTO_UNSPEC in more extensions Lots of extensions are completely family-independent, so squash some code. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 92f3b2b1bc968caaabee8cd78bee75ab7c4af74e Author: Jan Engelhardt Date: Wed Oct 8 11:35:20 2008 +0200 netfilter: xtables: cut down on static data for family-independent extensions Using ->family in struct xt_*_param, multiple struct xt_{match,target} can be squashed together. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 916a917dfec18535ff9e2afdafba82e6279eb4f4 Author: Jan Engelhardt Date: Wed Oct 8 11:35:20 2008 +0200 netfilter: xtables: provide invoked family value to extensions By passing in the family through which extensions were invoked, a bit of data space can be reclaimed. The "family" member will be added to the parameter structures and the check functions be adjusted. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit a2df1648ba615dd5908e9a1fa7b2f133fa302487 Author: Jan Engelhardt Date: Wed Oct 8 11:35:19 2008 +0200 netfilter: xtables: move extension arguments into compound structure (6/6) This patch does this for target extensions' destroy functions. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit af5d6dc200eb0fcc6fbd3df1ab4d8969004cb37f Author: Jan Engelhardt Date: Wed Oct 8 11:35:19 2008 +0200 netfilter: xtables: move extension arguments into compound structure (5/6) This patch does this for target extensions' checkentry functions. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 7eb3558655aaa87a3e71a0c065dfaddda521fa6d Author: Jan Engelhardt Date: Wed Oct 8 11:35:19 2008 +0200 netfilter: xtables: move extension arguments into compound structure (4/6) This patch does this for target extensions' target functions. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 6be3d8598e883fb632edf059ba2f8d1b9f4da138 Author: Jan Engelhardt Date: Wed Oct 8 11:35:19 2008 +0200 netfilter: xtables: move extension arguments into compound structure (3/6) This patch does this for match extensions' destroy functions. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 9b4fce7a3508a9776534188b6065b206a9608ccf Author: Jan Engelhardt Date: Wed Oct 8 11:35:18 2008 +0200 netfilter: xtables: move extension arguments into compound structure (2/6) This patch does this for match extensions' checkentry functions. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit f7108a20dee44e5bb037f9e48f6a207b42e6ae1c Author: Jan Engelhardt Date: Wed Oct 8 11:35:18 2008 +0200 netfilter: xtables: move extension arguments into compound structure (1/6) The function signatures for Xtables extensions have grown over time. It involves a lot of typing/replication, and also a bit of stack space even if they are not used. Realize an NFWS2008 idea and pack them into structs. The skb remains outside of the struct so gcc can continue to apply its optimizations. This patch does this for match extensions' match functions. A few ambiguities have also been addressed. The "offset" parameter for example has been renamed to "fragoff" (there are so many different offsets already) and "protoff" to "thoff" (there is more than just one protocol here, so clarify). Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit c2df73de246ae75705af8ceed4f385b261dea108 Author: Jan Engelhardt Date: Wed Oct 8 11:35:18 2008 +0200 netfilter: xtables: use "if" blocks in Kconfig Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit aba0d34800d7f56493b4d5548cc06498a4d69124 Author: Jan Engelhardt Date: Wed Oct 8 11:35:17 2008 +0200 netfilter: xtables: sort extensions alphabetically in Kconfig Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 20f3c56f4d7c76bcb66050f3364aa8da110f5bbd Author: Jan Engelhardt Date: Wed Oct 8 11:35:17 2008 +0200 netfilter: ebtables: make BRIDGE_NF_EBTABLES a menuconfig option Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 2203eb47603b01b15a4b1d5b1c7886da96158e74 Author: Jan Engelhardt Date: Wed Oct 8 11:35:17 2008 +0200 netfilter: ip6tables: fix Kconfig entry dependency for ip6t_LOG ip6t_LOG does certainly not depend on the filter table. (Also, move it so that menuconfig still displays it correctly.) Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 77d7358995489bf354fb4f65f4528e47980ffb08 Author: Jan Engelhardt Date: Wed Oct 8 11:35:17 2008 +0200 netfilter: ip6tables: fix name of hopbyhop in Kconfig The module is called hbh, not hopbyhop. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 367c679007fa4f990eb7ee381326ec59d8148b0e Author: Jan Engelhardt Date: Wed Oct 8 11:35:17 2008 +0200 netfilter: xtables: do centralized checkentry call (1/2) It used to be that {ip,ip6,etc}_tables called extension->checkentry themselves, but this can be moved into the xtables core. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 147c3844ad381b58715a6ee2ea697594e3c06284 Author: Jan Engelhardt Date: Wed Oct 8 11:35:16 2008 +0200 netfilter: ebtables: fix one wrong return value Usually -EINVAL is used when checkentry fails (see *_tables). Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit f7277f8d3aa4d3f99a9bdb48b27a2344a637a4b2 Author: Jan Engelhardt Date: Wed Oct 8 11:35:16 2008 +0200 netfilter: remove redundant casts from Ebtables Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 66bff35b722956cc2423f55fcf1b69cefa24ef8b Author: Jan Engelhardt Date: Wed Oct 8 11:35:16 2008 +0200 netfilter: remove unused Ebtables functions Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 5365f8022e04310f0276c95e82548da917d514db Author: Jan Engelhardt Date: Wed Oct 8 11:35:16 2008 +0200 netfilter: implement hotdrop for Ebtables Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit f2ff525c8dae57b3cda51d76443f60f764f34202 Author: Jan Engelhardt Date: Wed Oct 8 11:35:15 2008 +0200 netfilter: ebtables: use generic table checking Ebtables ORs (1 << NF_BR_NUMHOOKS) into the hook mask to indicate that the extension was called from a base chain. So this also needs to be present in the extensions' ->hooks. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 102befab75c438bfa356c6976026326728771ebc Author: Jan Engelhardt Date: Wed Oct 8 11:35:15 2008 +0200 netfilter: x_tables: output bad hook mask in hexadecimal It is a mask, and masks are most useful in hex. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 043ef46c7690bfdbd5b012e15812a14a19ca5604 Author: Jan Engelhardt Date: Wed Oct 8 11:35:15 2008 +0200 netfilter: move Ebtables to use Xtables Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 2d06d4a5cc107046508d860a0b47dbc43b829b79 Author: Jan Engelhardt Date: Wed Oct 8 11:35:15 2008 +0200 netfilter: change Ebtables function signatures to match Xtables's Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 815377fe344c799228ca6278613ca3100b069ad5 Author: Jan Engelhardt Date: Wed Oct 8 11:35:14 2008 +0200 netfilter: ebt_among: obtain match size through different means The function signatures will be changed to match those of Xtables, and the datalen argument will be gone. ebt_among unfortunately relies on it, so we need to obtain it somehow. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 001a18d369f4813ed792629ff4a9a6ade2a4a031 Author: Jan Engelhardt Date: Wed Oct 8 11:35:14 2008 +0200 netfilter: add dummy members to Ebtables code to ease transition to Xtables Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 0ac6ab1f7915fc820ca0cf8f597290dbb249edcc Author: Jan Engelhardt Date: Wed Oct 8 11:35:13 2008 +0200 netfilter: Change return types of targets/watchers for Ebtables extensions Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 8cc784eec6676b58e7f60419c88179aaa97bf71c Author: Jan Engelhardt Date: Wed Oct 8 11:35:13 2008 +0200 netfilter: change return types of match functions for ebtables extensions Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 19eda879a136889110c692dec4c2ab59e0e43cef Author: Jan Engelhardt Date: Wed Oct 8 11:35:13 2008 +0200 netfilter: change return types of check functions for Ebtables extensions Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 18219d3f7d6a5bc43825a41e0763158efbdb80d3 Author: Jan Engelhardt Date: Wed Oct 8 11:35:13 2008 +0200 netfilter: ebtables: do centralized size checking Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit d2f26037a38ada4a5d40d1cf0b32bc5289f50312 Author: KOVACS Krisztian Date: Wed Oct 8 11:35:12 2008 +0200 netfilter: Add documentation for tproxy Add basic usage instructions to Documentation/networking. Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit e84392707e10301b93121e1b74e2823db50cdf9e Author: KOVACS Krisztian Date: Wed Oct 8 11:35:12 2008 +0200 netfilter: iptables TPROXY target The TPROXY target implements redirection of non-local TCP/UDP traffic to local sockets. Additionally, it's possible to manipulate the packet mark if and only if a socket has been found. (We need this because we cannot use multiple targets in the same iptables rule.) Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit 136cdc71fd54e77463e570643ac76e2b696e48a0 Author: KOVACS Krisztian Date: Wed Oct 8 11:35:12 2008 +0200 netfilter: iptables socket match Add iptables 'socket' match, which matches packets for which a TCP/UDP socket lookup succeeds. Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit 9ad2d745a23853927a19789b034d9eb2e62d78ee Author: KOVACS Krisztian Date: Wed Oct 8 11:35:12 2008 +0200 netfilter: iptables tproxy core The iptables tproxy core is a module that contains the common routines used by various tproxy related modules (TPROXY target and socket match) Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit 73e4022f78acdbe420e8c24a7afbd90f4c8f5077 Author: KOVACS Krisztian Date: Wed Oct 8 11:35:12 2008 +0200 netfilter: split netfilter IPv4 defragmentation into a separate module Netfilter connection tracking requires all IPv4 packets to be defragmented. Both the socket match and the TPROXY target depend on this functionality, so this patch separates the Netfilter IPv4 defrag hooks into a separate module. Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy commit 4de6f16b9ec2422fa7ef9c22f7b1c8d5a55499b4 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:11 2008 +0200 netfilter: enable netfilter in netns From kernel perspective, allow entrance in nf_hook_slow(). Stuff which uses nf_register_hook/nf_register_hooks, but otherwise not netns-ready: DECnet netfilter ipt_CLUSTERIP nf_nat_standalone.c together with XFRM (?) IPVS several individual match modules (like hashlimit) ctnetlink NOTRACK all sorts of queueing and reporting to userspace L3 and L4 protocol sysctls, bridge sysctls probably something else Anyway critical mass has been achieved, there is no reason to hide netfilter any longer. From userspace perspective, allow to manipulate all sorts of iptables/ip6tables/arptables rules. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit cfd6e3d74751b62b6d0844e24c911776e40a0135 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:11 2008 +0200 netfilter: netns nat: PPTP NAT in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 9174c1538fffbb5dddab99563eac6b3d8b212277 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:11 2008 +0200 netfilter: netns nf_conntrack: fixup DNAT in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 0c4c9288ada0e6642d511ef872f10a4781a896ff Author: Alexey Dobriyan Date: Wed Oct 8 11:35:11 2008 +0200 netfilter: netns nat: per-netns bysource hash Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit e099a173573ce1ba171092aee7bb3c72ea686e59 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:10 2008 +0200 netfilter: netns nat: per-netns NAT table Same story as with iptable_filter, iptables_raw tables. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit b8b8063e0d0835fb44c88d9fded2be31c9a1757e Author: Alexey Dobriyan Date: Wed Oct 8 11:35:10 2008 +0200 netfilter: netns nat: fix ipt_MASQUERADE in netns First, allow entry in notifier hook. Second, start conntrack cleanup in netns to which netdevice belongs. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 0e6e75af921d1f4799eeb9f83a31c86ab7cdeb8f Author: Alexey Dobriyan Date: Wed Oct 8 11:35:10 2008 +0200 netfilter: netns nf_conntrack: PPTP conntracking in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 3bb0d1c00f86b13bb184193a8f0189ddd6f0459f Author: Alexey Dobriyan Date: Wed Oct 8 11:35:10 2008 +0200 netfilter: netns nf_conntrack: GRE conntracking in netns * make keymap list per-netns * per-netns keymal lock (not strictly necessary) * flush keymap at netns stop and module unload. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 84541cc13a3bb31a58c096dde3517461e3ad91c2 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:09 2008 +0200 netfilter: netns nf_conntrack: H323 conntracking in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit a5c3a8005cb7a36ebcc5b849f6045069ce4f7ca8 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:09 2008 +0200 netfilter: netns nf_conntrack: SIP conntracking in netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 08f6547d266fdba087f7fa7963fc0610be5b7cd7 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:09 2008 +0200 netfilter: netns nf_conntrack: final netns tweaks Add init_net checks to not remove kmem_caches twice and so on. Refactor functions to split code which should be executed only for init_net into one place. ip_ct_attach and ip_ct_destroy assignments remain separate, because they're separate stages in setup and teardown. NOTE: NOTRACK code is in for-every-net part. It will be made per-netns after we decidce how to do it correctly. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit d716a4dfbbdf0d4731d596a96e5f4b0d892ac168 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:09 2008 +0200 netfilter: netns nf_conntrack: per-netns conntrack accounting Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit c2a2c7e0cc39e7f9336cd67e8307a110bdba82f3 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:08 2008 +0200 netfilter: netns nf_conntrack: per-netns net.netfilter.nf_conntrack_log_invalid sysctl Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit c04d05529a6e0bf97183a2caf76a0c7f07f5b78c Author: Alexey Dobriyan Date: Wed Oct 8 11:35:08 2008 +0200 netfilter: netns nf_conntrack: per-netns net.netfilter.nf_conntrack_checksum sysctl Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 802507071b72ed5025747126099cbc6d1542f596 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:08 2008 +0200 netfilter: netns nf_conntrack: per-netns net.netfilter.nf_conntrack_count sysctl Note, sysctl table is always duplicated, this is simpler and less special-cased. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 8e9df80180b73d4107bf8fbf28b1633c541d2770 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:08 2008 +0200 netfilter: netns nf_conntrack: per-netns /proc/net/stat/nf_conntrack, /proc/net/stat/ip_conntrack Show correct conntrack count, while I'm at it. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 0d55af8791bfb42e04cc456b348910582f230343 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:07 2008 +0200 netfilter: netns nf_conntrack: per-netns statistics Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 6058fa6bb96a5b6145cba10c5171f09c2783ca69 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:07 2008 +0200 netfilter: netns nf_conntrack: per-netns event cache Heh, last minute proof-reading of this patch made me think, that this is actually unneeded, simply because "ct" pointers will be different for different conntracks in different netns, just like they are different in one netns. Not so sure anymore. [Patrick: pointers will be different, flushing can only be done while inactive though and thus it needs to be per netns] Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit a71996fccce4b2086a26036aa3c915365ca36926 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:07 2008 +0200 netfilter: netns nf_conntrack: pass conntrack to nf_conntrack_event_cache() not skb This is cleaner, we already know conntrack to which event is relevant. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 678d66753091a4102910392fb6198a6c6ce7f510 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:07 2008 +0200 netfilter: netns nf_conntrack: cleanup after L3 and L4 proto unregister in every netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 68047937677f2dffb5c47b57ce8baba5714b2142 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:06 2008 +0200 netfilter: netns nf_conntrack: unregister helper in every netns Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit b76a461f11eb5f32d37a9c8eae7b2f3b3f261b43 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:06 2008 +0200 netns: export netns list Conntrack code will use it for a) removing expectations and helpers when corresponding module is removed, and b) removing conntracks when L3 protocol conntrack module is removed. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 5e6b29972b7e9c9c39882227e36fe0cd3463fe96 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:06 2008 +0200 netfilter: netns nf_conntrack: per-netns /proc/net/ip_conntrack, /proc/net/stat/ip_conntrack, /proc/net/ip_conntrack_expect Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit dc5129f8df7cc3f2f04b322728d71c42795d34cc Author: Alexey Dobriyan Date: Wed Oct 8 11:35:06 2008 +0200 netfilter: netns nf_conntrack: per-netns /proc/net/nf_conntrack_expect Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit b2ce2c7479d9b60dd268203e56bb738e78fd5fda Author: Alexey Dobriyan Date: Wed Oct 8 11:35:05 2008 +0200 netfilter: netns nf_conntrack: per-netns /proc/net/nf_conntrack, /proc/net/stat/nf_conntrack Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 74c51a1497033e6ff7b8096797daca233a4a30df Author: Alexey Dobriyan Date: Wed Oct 8 11:35:05 2008 +0200 netfilter: netns nf_conntrack: pass netns pointer to L4 protocol's ->error hook Again, it's deducible from skb, but we're going to use it for nf_conntrack_checksum and statistics, so just pass it from upper layer. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit a702a65fc1376fc1f6757ec2a6960348af3f1876 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:04 2008 +0200 netfilter: netns nf_conntrack: pass netns pointer to nf_conntrack_in() It's deducible from skb->dev or skb->dst->dev, but we know netns at the moment of call, so pass it down and use for finding and creating conntracks. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 63c9a26264be108b52de087724673f8664570e34 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:04 2008 +0200 netfilter: netns nf_conntrack: per-netns unconfirmed list What is confirmed connection in one netns can very well be unconfirmed in another one. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 9b03f38d0487f3908696242286d934c9b38f9d2a Author: Alexey Dobriyan Date: Wed Oct 8 11:35:03 2008 +0200 netfilter: netns nf_conntrack: per-netns expectations Make per-netns a) expectation hash and b) expectations count. Expectations always belongs to netns to which it's master conntrack belong. This is natural and doesn't bloat expectation. Proc files and leaf users are stubbed to init_net, this is temporary. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit b21f89019399ff75d9c239010e38b840eb6e01e7 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:03 2008 +0200 netfilter: netns: fix {ip,6}_route_me_harder() in netns Take netns from skb->dst->dev. It should be safe because, they are called from LOCAL_OUT hook where dst is valid (though, I'm not exactly sure about IPVS and queueing packets to userspace). [Patrick: its safe everywhere since they already expect skb->dst to be set] Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 400dad39d1c33fe797e47326d87a3f54d0ac5181 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:03 2008 +0200 netfilter: netns nf_conntrack: per-netns conntrack hash * make per-netns conntrack hash Other solution is to add ->ct_net pointer to tuplehashes and still has one hash, I tried that it's ugly and requires more code deep down in protocol modules et al. * propagate netns pointer to where needed, e. g. to conntrack iterators. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 49ac8713b6d064adf7474080fdccebd7cce76be0 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:03 2008 +0200 netfilter: netns nf_conntrack: per-netns conntrack count Sysctls and proc files are stubbed to init_net's one. This is temporary. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 5a1fb391d881905e89623d78858d05b248cbc86a Author: Alexey Dobriyan Date: Wed Oct 8 11:35:02 2008 +0200 netfilter: netns nf_conntrack: add ->ct_net -- pointer from conntrack to netns Conntrack (struct nf_conn) gets pointer to netns: ->ct_net -- netns in which it was created. It comes from netdevice. ->ct_net is write-once field. Every conntrack in system has ->ct_net initialized, no exceptions. ->ct_net doesn't pin netns: conntracks are recycled after timeouts and pinning background traffic will prevent netns from even starting shutdown sequence. Right now every conntrack is created in init_net. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit dfdb8d791877052bbb527d9688d94a064721d8f7 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:02 2008 +0200 netfilter: netns nf_conntrack: add netns boilerplate One comment: #ifdefs around #include is necessary to overcome amazing compile breakages in NOTRACK-in-netns patch (see below). Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit e10aad9998e463df8e25ec749538faf3324dd31b Author: Alexey Dobriyan Date: Wed Oct 8 11:35:02 2008 +0200 netfilter: netns: ip6t_REJECT in netns for real Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 7dd1b8dad84c9561fe8949ed5db4de15aee877eb Author: Alexey Dobriyan Date: Wed Oct 8 11:35:02 2008 +0200 netfilter: netns: ip6table_mangle in netns for real Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 1339dd91719f3e841b113ddaccd30fd87b9d2332 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:01 2008 +0200 netfilter: netns: ip6table_raw in netns for real Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 48dc7865aa3db9404aedc8677d9daf8f8f469ab0 Author: Alexey Dobriyan Date: Wed Oct 8 11:35:01 2008 +0200 netfilter: netns: remove nf_*_net() wrappers Now that dev_net() exists, the usefullness of them is even less. Also they're a big problem in resolving circular header dependencies necessary for NOTRACK-in-netns patch. See below. Signed-off-by: Alexey Dobriyan Signed-off-by: Patrick McHardy commit 55b69e91040c685a064198bd76e59885b7ad26c6 Author: Jan Engelhardt Date: Wed Oct 8 11:35:01 2008 +0200 netfilter: implement NFPROTO_UNSPEC as a wildcard for extensions When a match or target is looked up using xt_find_{match,target}, Xtables will also search the NFPROTO_UNSPEC module list. This allows for protocol-independent extensions (like xt_time) to be reused from other components (e.g. arptables, ebtables). Extensions that take different codepaths depending on match->family or target->family of course cannot use NFPROTO_UNSPEC within the registration structure (e.g. xt_pkttype). Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit ee999d8b9573df1b547aacdc6d79f86eb79c25cd Author: Jan Engelhardt Date: Wed Oct 8 11:35:01 2008 +0200 netfilter: x_tables: use NFPROTO_* in extensions Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 7e9c6eeb136a46dfd941852803b3a9dd78939b69 Author: Jan Engelhardt Date: Wed Oct 8 11:35:00 2008 +0200 netfilter: Introduce NFPROTO_* constants The netfilter subsystem only supports a handful of protocols (much less than PF_*) and even non-PF protocols like ARP and pseudo-protocols like PF_BRIDGE. By creating NFPROTO_*, we can earn a few memory savings on arrays that previously were always PF_MAX-sized and keep the pseudo-protocols to ourselves. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 079aa88fe7172b7650c7cf2c0bc01662bafea236 Author: Jan Engelhardt Date: Wed Oct 8 11:35:00 2008 +0200 netfilter: xt_recent: IPv6 support This updates xt_recent to support the IPv6 address family. The new /proc/net/xt_recent directory must be used for this. The old proc interface can also be configured out. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit e948b20a71a06a740c925d6ea22b59b4e17cfa0c Author: Jan Engelhardt Date: Wed Oct 8 11:35:00 2008 +0200 netfilter: rename ipt_recent to xt_recent Like with other modules (such as ipt_state), ipt_recent.h is changed to forward definitions to (IOW include) xt_recent.h, and xt_recent.c is changed to use the new constant names. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 76108cea065cda58366d16a7eb6ca90d717a1396 Author: Jan Engelhardt Date: Wed Oct 8 11:35:00 2008 +0200 netfilter: Use unsigned types for hooknum and pf vars and (try to) consistently use u_int8_t for the L3 family. Signed-off-by: Jan Engelhardt Signed-off-by: Patrick McHardy commit 990d0f2ced23052abc7efa09bd05bff34e00cf73 Merge: 85ba94b... 34b3ede... e545a61... d294eb8... Author: Ingo Molnar Date: Wed Oct 8 11:31:02 2008 +0200 Merge branches 'sched/devel', 'sched/cpu-hotplug', 'sched/cpusets' and 'sched/urgent' into sched/core commit 075f664689b40217539ebfe856fab73d302a15f1 Merge: b8bae41... ad788b5... Author: David S. Miller Date: Tue Oct 7 16:26:38 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit b8bae41ed6a53cce56c50811a91cd963e3187d1c Author: Rami Rosen Date: Tue Oct 7 15:34:37 2008 -0700 ipv4: add mc_count to in_device. This patch add mc_count to struct in_device and updates increment/decrement/initilaize of this field in IPv4 and in IPv6. - Also printing the vfs /proc entry (/proc/net/igmp) is adjusted to use the new mc_count. Signed-off-by: Rami Rosen Signed-off-by: David S. Miller commit be713a443ee019489890e93654557916fbf72612 Author: Denis V. Lunev Date: Tue Oct 7 14:50:06 2008 -0700 netns: make uplitev6 mib per/namespace Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 0c7ed677fb7013c8028045d409a48ac42151187a Author: Denis V. Lunev Date: Tue Oct 7 14:49:36 2008 -0700 netns: make udpv6 mib per/namespace Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit e43291cb37406dae405d50332eaa1ba2264c8dce Author: Denis V. Lunev Date: Tue Oct 7 14:48:53 2008 -0700 netns: add stub functions for per/namespace mibs allocation The content of init_ipv6_mibs/cleanup_ipv6_mibs will be moved to new calls one by one next. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit ab38dc7a70e59a4888ab4acb51daf3c6012ce4b8 Author: Denis V. Lunev Date: Tue Oct 7 14:47:55 2008 -0700 netns: allow per device ipv6 snmp statistics in non-initial namespace Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 2b4209e4b7ba9c7d70910a665ae4b60d49b75fcd Author: Denis V. Lunev Date: Tue Oct 7 14:47:37 2008 -0700 netns: register global ipv6 mibs statistics in each namespace Unused net variable will become used very soon. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 7b43ccecc77480353a5657d993d671cae9e94efd Author: Denis V. Lunev Date: Tue Oct 7 14:47:12 2008 -0700 ipv6: separate seq_ops for global & per/device ipv6 statistics idev has been stored on seq->private. NULL has been stored for global statistics. The situation is changed with net namespace. We need to store pointer to struct net and the only place is seq->private. So, we'll have for /proc/net/dev_snmp6/* and for /proc/net/snmp6 pointers of two different types stored in the same field. This effectively requires to separate seq_ops of these files. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 35f0a5df6cbc315da031c40541e135a059bfde7d Author: Denis V. Lunev Date: Tue Oct 7 14:46:47 2008 -0700 ipv6: consolidate ipv6 sock_stat code at the beginning of net/ipv6/proc.c Simple, comsolidate sockstat6 staff in one place, at the beginning of the file. Right now sockstat6_seq_open/sockstat6_seq_fops looks like an intrusion in the middle of snmp6 code. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 06f38527decedbea0588256ecbb5784d4bb35b81 Author: Denis V. Lunev Date: Tue Oct 7 14:46:18 2008 -0700 netns: register /proc/net/dev_snmp6/* in each ns Do the same for /proc/net/snmp6. Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 835bcc0497e18f54153ac9e32b598dd8ffb7aa66 Author: Denis V. Lunev Date: Tue Oct 7 14:45:55 2008 -0700 netns: move /proc/net/dev_snmp6 to struct net Signed-off-by: Denis V. Lunev Signed-off-by: David S. Miller commit 4a7e56098f06d505f23f8d7c8d6762221065922a Author: Ilpo Järvinen Date: Tue Oct 7 14:43:31 2008 -0700 tcp: cleanup messy initializer I'm quite sure that if I give this function in its old format for you to inspect, you start to wonder what is the type of demanded or if it's a global variable. Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 33f5f57eeb0c6386fdd85f9c690dc8d700ba7928 Author: Ilpo Järvinen Date: Tue Oct 7 14:43:06 2008 -0700 tcp: kill pointless urg_mode It all started from me noticing that this urgent check in tcp_clean_rtx_queue is unnecessarily inside the loop. Then I took a longer look to it and found out that the users of urg_mode can trivially do without, well almost, there was one gotcha. Bonus: those funny people who use urg with >= 2^31 write_seq - snd_una could now rejoice too (that's the only purpose for the between being there, otherwise a simple compare would have done the thing). Not that I assume that the rest of the tcp code happily lives with such mind-boggling numbers :-). Alas, it turned out to be impossible to set wmem to such numbers anyway, yes I really tried a big sendfile after setting some wmem but nothing happened :-). ...Tcp_wmem is int and so is sk_sndbuf... So I hacked a bit variable to long and found out that it seems to work... :-) Signed-off-by: Ilpo Järvinen Signed-off-by: David S. Miller commit 654bed16cf86a9ef94495d9e6131b7ff7840a3dd Author: Peter Zijlstra Date: Tue Oct 7 14:22:33 2008 -0700 net: packet split receive api Add some packet-split receive hooks. For one this allows to do NUMA node affine page allocs. Later on these hooks will be extended to do emergency reserve allocations for fragments. Signed-off-by: Peter Zijlstra Signed-off-by: David S. Miller commit c57943a1c96214ee68f3890bb6772841ffbfd606 Author: Peter Zijlstra Date: Tue Oct 7 14:18:42 2008 -0700 net: wrap sk->sk_backlog_rcv() Wrap calling sk->sk_backlog_rcv() in a function. This will allow extending the generic sk_backlog_rcv behaviour. Signed-off-by: Peter Zijlstra Signed-off-by: David S. Miller commit b339a47c370ec669f789c5989f54eec1d78574bb Author: Peter Zijlstra Date: Tue Oct 7 14:15:00 2008 -0700 ipv6: initialize ip6_route sysctl vars in ip6_route_net_init() This makes that ip6_route_net_init() does all of the route init code. There used to be a race between ip6_route_net_init() and ip6_net_init() and someone relying on the combined result was left out cold. Signed-off-by: Peter Zijlstra Signed-off-by: David S. Miller commit 68fffc679694d5f7c02fdeb684b481416cd8213b Author: Peter Zijlstra Date: Tue Oct 7 14:12:10 2008 -0700 ipv6: clean up ip6_route_net_init() error handling ip6_route_net_init() error handling looked less than solid, fix 'er up. Signed-off-by: Peter Zijlstra Signed-off-by: David S. Miller commit 0752f1522a9120f731232919f7ad904e9e22b8ce Author: Steve French Date: Tue Oct 7 20:03:33 2008 +0000 [CIFS] make sure we have the right resume info before calling CIFSFindNext When we do a seekdir() or equivalent, we usually end up doing a FindFirst call and then call FindNext until we get to the offset that we want. The problem is that when we call FindNext, the code usually doesn't have the proper info (mostly, the filename of the entry from the last search) to resume the search. Add a "last_entry" field to the cifs_search_info that points to the last entry in the search. We calculate this pointer by using the LastNameOffset field from the search parms that are returned. We then use that info to do a cifs_save_resume_key before we call CIFSFindNext. This patch allows CIFS to reliably pass the "telldir" connectathon test. Signed-off-by: Jeff Layton CC: Stable Signed-off-by: Steve French commit 23542618deb77cfed312842fe8c41ed19fb16470 Author: KOVACS Krisztian Date: Tue Oct 7 12:41:01 2008 -0700 inet: Don't lookup the socket if there's a socket attached to the skb Use the socket cached in the skb if it's present. Signed-off-by: KOVACS Krisztian Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 607c4aaf03041c8bd81555a0218050c0f895088e Author: KOVACS Krisztian Date: Tue Oct 7 12:38:32 2008 -0700 inet: Add udplib_lookup_skb() helpers To be able to use the cached socket reference in the skb during input processing we add a new set of lookup functions that receive the skb on their argument list. Signed-off-by: KOVACS Krisztian Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 6050247d8089037d6d8ea0f3c62fe4a931c1ab14 Author: Steve French Date: Tue Oct 7 18:42:52 2008 +0000 [CIFS] clean up error handling in cifs_unlink Currently, if a standard delete fails and we end up getting -EACCES we try to clear ATTR_READONLY and try the delete again. If that then fails with -ETXTBSY then we try a rename_pending_delete. We aren't handling other errors appropriately though. Another client could have deleted the file in the meantime and we get back -ENOENT, for instance. In that case we wouldn't do a d_drop. Instead of retrying in a separate call, simply goto the original call and use the error handling from that. Also, we weren't properly undoing any attribute changes that were done before returning an error back to the caller. CC: Jeff Layton Signed-off-by: Steve French commit 9a1f27c48065ce713eb47f2fd475b717e63ef239 Author: Arnaldo Carvalho de Melo Date: Tue Oct 7 11:41:57 2008 -0700 inet_hashtables: Add inet_lookup_skb helpers To be able to use the cached socket reference in the skb during input processing we add a new set of lookup functions that receive the skb on their argument list. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit 27c4cae28148ad97baa2bf8275f7ebc9e2c37c34 Author: Russell King Date: Tue Oct 7 19:16:33 2008 +0100 [ARM] pxa: allow multi-machine PCMCIA builds Signed-off-by: Russell King commit 4f788bb20047d7f530ad8dfccda74f7ce7a8a0f5 Author: Eric Miao Date: Wed Aug 6 15:59:06 2008 +0800 [ARM] pxa: add preliminary CPUFREQ support for PXA3xx Signed-off-by: Eric Miao Signed-off-by: Russell King commit 5c52de4a6623ac14790d42df69a509631f4db5f6 Author: Eric Miao Date: Wed Aug 6 15:57:04 2008 +0800 [ARM] pxa: add missing ACCR bit definitions to pxa3xx-regs.h Signed-off-by: Eric Miao Signed-off-by: Russell King commit 0d1bde9ed102cf90165adaf7efcff7bb77658eaa Author: Eric Miao Date: Wed Aug 6 15:51:53 2008 +0800 [ARM] pxa: rename cpu-pxa.c to cpufreq-pxa2xx.c Signed-off-by: Eric Miao Signed-off-by: Russell King commit 7ff43535696e65333f2e335aa0063094e3001f39 Author: Eric Miao Date: Sat Sep 27 18:05:49 2008 +0800 [ARM] pxa/zylonite: add support for USB OHCI Signed-off-by: Eric Miao Signed-off-by: Russell King commit 0c392ed9a78cbe0f54955ea4716ade8bc22eb00d Author: Eric Miao Date: Sat Oct 4 12:57:21 2008 +0800 [ARM] ohci-pxa27x: use ioremap() and offset for register access This avoid the pre-mapping of OHCI controller register space, and the mapping is made only when necessary (OHCI is probed). Signed-off-by: Eric Miao Signed-off-by: Russell King commit 0cb0b0d3c6ebb8215500685a1f70a45bbbdc8e47 Author: Eric Miao Date: Sat Oct 4 12:45:39 2008 +0800 [ARM] ohci-pxa27x: introduce pxa27x_clear_otgph() Direct access to pxa27x specific register PSSR in a generic ohci driver is no good, introduce pxa27x_clear_otgph() and move the implementation into processor specific code. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 84bab7393b0da5086e133b7f333b800d26f7166b Author: Eric Miao Date: Fri Oct 3 22:37:21 2008 +0800 [ARM] ohci-pxa27x: use platform_get_{irq,resource} for the resource Depending on the order of how resource is defined in the platform device is not good, use platform_get_{irq,resource} for the IRQ and memory resources. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 596050bc75a56ea4bd9942abafff6dca657da81c Author: Eric Miao Date: Sat Sep 27 16:12:32 2008 +0800 [ARM] ohci-pxa27x: move OHCI controller specific registers into the driver Signed-off-by: Eric Miao Signed-off-by: Russell King commit 097b53348f34a461d2b07081eae12d823cf3d729 Author: Eric Miao Date: Sat Sep 27 15:49:57 2008 +0800 [ARM] ohci-pxa27x: introduce flags to avoid direct access to OHCI registers Direct access to USB host controller registers is considered to be not portable, and is usually a bad sign for poorly abstracted interface. Introduce .flags and .power_on_delay to "struct pxaohci_platform_data" so that most platforms don't bother to write their own .init/.exit() sequences. Signed-off-by: Eric Miao Signed-off-by: Russell King commit 52358ba3a89012c54712c24074ceb4b1c669af52 Author: Eric Miao Date: Mon Sep 8 15:37:50 2008 +0800 [ARM] pxa: move I2S register and bit definitions into pxa2xx-i2s.c Signed-off-by: Eric Miao Acked-by: Mark Brown Signed-off-by: Russell King commit 87f3dd77974cba1ba0798abd741ede50f56b3eb3 Author: Eric Miao Date: Mon Sep 8 15:26:43 2008 +0800 [ARM] pxa: simplify DMA register definitions 1. DRCMRxx is no longer recommended, use DRCMR(xx) instead, and pass DRCMR index by "struct resource" if possible 2. DCSRxx, DDADRxx, DSADRxx, DTADRxx, DCMDxx is never used, use DCSR(), DDADR(), DSADR(), DTADR(), DCMD() instead Signed-off-by: Eric Miao Acked-by: Nicolas Pitre Signed-off-by: Russell King commit cbd18f8e3de62f91001963467ab6aad80a2a25ac Author: Eric Miao Date: Mon Sep 8 15:17:47 2008 +0800 [ARM] pxa: make additional DCSR bits valid for PXA3xx Signed-off-by: Eric Miao Signed-off-by: Russell King commit 283afa06619ed3e4dd7b5431f862fe23625c452f Author: Eric Miao Date: Mon Sep 8 14:15:08 2008 +0800 [ARM] pxa: move i2c register and bit definitions into i2c-pxa.c Signed-off-by: Eric Miao Signed-off-by: Russell King commit e7f3c60037fcad0edc0b79b8d285418246bcef40 Author: Eric Miao Date: Sat Sep 27 18:07:48 2008 +0800 [ARM] pxa: fix incorrect initialization of mfp sysdev when not pxa2xx The initialization of mfp sysdev in pxa2xx_mfp_init() shall really be avoided when !cpu_is_pxa2xx(). Signed-off-by: Eric Miao Signed-off-by: Russell King commit 5a89770daad83df74d77a8d34a1ffaedae565ce9 Merge: c46c948... af7c951... Author: Russell King Date: Tue Oct 7 19:08:56 2008 +0100 Merge branches 'pxa-core' and 'pxa-machines' into pxa-all Conflicts: arch/arm/mach-pxa/Kconfig arch/arm/mach-pxa/pxa25x.c arch/arm/mach-pxa/pxa27x.c commit af7c951d76708c61b862463d579d76be757130bf Merge: cc513ac... ebcce7b... Author: Russell King Date: Tue Oct 7 19:08:35 2008 +0100 Merge branch 'for_rmk' of git://git.mnementh.co.uk/linux-2.6-im Merge branch 'pxa-eseries' into pxa-machines Conflicts: arch/arm/mach-pxa/Makefile commit cc513ac0f29473de365664c4fba9cf033c1f2324 Merge: 1543966... 19ec95d... Author: Russell King Date: Tue Oct 7 19:08:32 2008 +0100 Merge branch 'viper-for-rmk' of git://www.misterjones.org/linux-2.6-arm Merge branch 'pxa-viper' into pxa-machines Conflicts: arch/arm/mach-pxa/Makefile drivers/pcmcia/Kconfig drivers/pcmcia/Makefile commit 1543966a079fc7065849ae43ca4dd767c188ad55 Merge: 5ff7f78... 4e9687d... Author: Russell King Date: Tue Oct 7 19:07:22 2008 +0100 Merge branch 'pxa-palm' into pxa-machines Conflicts: drivers/mfd/Kconfig drivers/pcmcia/Makefile commit 5ff7f78a3db462ea4edf1a781a2002d4e8a8a473 Merge: 35437b6... 92b797f... Author: Russell King Date: Tue Oct 7 19:06:52 2008 +0100 Merge branch 'pxa-trizeps' into pxa-machines Conflicts: drivers/pcmcia/Makefile commit 35437b6192d9a4eb92f095dfd72396b6d2970f0b Merge: 9226134... f3ec5cc... d8ad785... a55faca... eda6f6e... 49ea26d0... a461a8d... ec36b16... Author: Russell King Date: Tue Oct 7 19:06:22 2008 +0100 Merge branches 'metronomefb', 'pxa-cm2xx', 'pxa-gumstix', 'pxa-misc', 'pxa-mitac', 'pxa-mp900', 'pxa-zylonite' and 'pxa-zaurus' into pxa-machines Conflicts: arch/arm/mach-pxa/poodle.c commit 92b797f6a1347623a41caf02516b70e5fa706a90 Author: Russell King Date: Tue Oct 7 15:52:03 2008 +0100 [ARM] pxa: trizeps4: remove unused variable Signed-off-by: Russell King commit f3ec5cc92a43c8ace8326c990e2ffc409893d809 Author: Mike Rapoport Date: Sun Oct 5 10:30:42 2008 +0100 [ARM] 5285/1: pxa: update xm_x2xx_defconfig Signed-off-by: Russ Dill Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 49a7061dcaaf068fd691cb4ff098e4f20cbf6c23 Author: Mike Rapoport Date: Sun Oct 5 10:29:59 2008 +0100 [ARM] 5284/1: pxa: cm-x255: add NOR and NAND flash support This patch adds support for NOR and NAND flashes on CM-X255. The NAND flash support uses not yet merged GPIO NAND driver. Signed-off-by: Russ Dill Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 8616e2fb6930103a8408998777ec8a2332f5e89d Author: Mike Rapoport Date: Sun Oct 5 10:27:22 2008 +0100 [ARM] 5283/1: pxa: add CM-X255 pcmcia support Signed-off-by: Russ Dill Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit a7f3f0309b68d8d07a97a54c492802c294bccacd Author: Mike Rapoport Date: Sun Oct 5 10:26:55 2008 +0100 [ARM] 5282/1: pxa: add CM-X255 support Signed-off-by: Russ Dill Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit 4adc5fb6733213ab68750f722630d1b9d5655bc1 Author: Mike Rapoport Date: Sun Oct 5 10:26:10 2008 +0100 [ARM] 5281/1: pxa: split cm-x2xx.c to cm-x2xx.c and cm-x270.c Signed-off-by: Russ Dill Signed-off-by: Mike Rapoport Signed-off-by: Russell King commit da591937ba8c3a98ced845247859693a27543863 Author: Mike Rapoport Date: Sun Oct 5 10:25:44 2008 +0100 [ARM] 5280/1: pxa: prepare cm-x2xx.c and cm-x2xx-pci.[ch] for addition of CM-X255 - Change CM-X255 and CM-X270 common function prefix from cmx270 to cmx2xx - Split cmx2xx_init to common and CM-X270-specific parts - Use dynamic assignement for DM9000 resources and led GPIOs. Signed-off-by: Russ Dill Signed-off-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Russell King commit 7d76e3f171216757a2ea630d76442084f88a0b4c Author: Mike Rapoport Date: Tue Oct 7 11:58:25 2008 +0100 [ARM] 5286/2: pxa: rename cm-x270* to cm-x2xx* to allow addition of cm-x255 support Signed-off-by: Russ Dill Signed-off-by: Mike Rapoport Acked-by: Eric Miao Signed-off-by: Russell King commit 2efa42f2fadc06f7ceee14834624d2911a9f11f1 Author: Jürgen Schindele Date: Tue Oct 7 10:40:18 2008 +0100 [ARM] 5294/1: Trizeps4 PCMCIA support Support for Trizeps4 SOM PCMCIA with ConXS or other baseboards. with double GPIO-free fixed (sorry!) replaces 5279/1 Signed-off-by: Jurgen Schindele Signed-off-by: Russell King commit 446b097a426f0fa7d37bd2576bdf6d72d6483ac1 Author: Hartley Sweeten Date: Mon Oct 6 22:43:02 2008 +0100 [ARM] 5293/1: ep93xx: add defines for external chipselects This patch adds defines for the external chipselect physical base addresses available with the EP93xx. These are meant to be used in the platform init code. In addition, documentation about the synchronous/asynchronous boot modes for the EP93xx and a reference to errata about issues with synchronous booting has been added. Signed-off-by: Signed-off-by: Russell King commit 39d80c33a068d9fa63a36c3b2c0d718d38440dd1 Author: Andi Kleen Date: Mon Oct 6 21:37:44 2008 -0400 ext4: Avoid double dirtying of super block in ext4_put_super() While reading code I noticed that ext4_put_super() dirties the superblock bh twice. It is always done in ext4_commit_super() too. Remove the redundant dirty operation. Should be a nop semantically. Signed-off-by: Andi Kleen commit 08a225f143bf3415fef6f3360d922be35da40543 Author: Theodore Ts'o Date: Mon Oct 6 20:58:09 2008 -0400 Update ext4 MAINTAINERS file The ext4 entry was copied from ext3 and was never correct. Update it so that Theodore Ts'o is listed as the maintainer, and point the website to http://ext4.wiki.kernel.org. Signed-off-by: "Theodore Ts'o" commit 6873fa0de14e49c433f1f181c54e511f4f3d459d Author: Eric Sandeen Date: Tue Oct 7 00:46:36 2008 -0400 Hook ext4 to the vfs fiemap interface. ext4_ext_walk_space() was reinstated to be used for iterating over file extents with a callback; it is used by the ext4 fiemap implementation. Signed-off-by: Eric Sandeen Signed-off-by: "Theodore Ts'o" Cc: linux-ext4@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org commit ad788b5e079484aa1d48aa90a3ebd7d954d2e7db Author: John W. Linville Date: Wed Oct 1 15:45:02 2008 -0400 mac80211: avoid "Wireless Event too big" message for assoc response The association response IEs are sent to userland with an IWEVCUSTOM event, which unfortunately is limited to a little more than 100 bytes of IE information with the encoding used. Many APs send so much IE information that this message overflows. When the IWEVCUSTOM event is too large, the kernel doesn't send it to userland anyway -- better just not to send it. An attempt was made by Jouni Malinen to correct this issue by converting to use IWEVASSOCREQIE and IWEVASSOCRESPIE messages instead ("mac80211: Use IWEVASSOCREQIE instead of IWEVCUSTOM"). Unfortunately, that caused a problem due to 32-/64-bit interactions on some systems and was reverted after the 'userland ABI' rule was invoked. That leaves us with this option instead of a proper fix, at least until we move to a cfg80211-based solution. Signed-off-by: John W. Linville commit eedda3670ea8e6d7649e3c8847759b0a6e532f8d Author: Tomas Winkler Date: Mon Oct 6 16:05:32 2008 +0800 iwlwifi: remove STATUS_CONF_PENDING in scanning This patch removes STATUS_CONF_PENDING usage that called from iwl4965_mac_config internally after scan completed. It's called anyway from the mac80211 ieee80211_scan_completed(): if (local->hw_scanning) { local->hw_scanning = false; if (ieee80211_hw_config(local)) ... } Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 5118303f7cc0520ce2969ea3d890dc05d586ceb2 Author: Tomas Winkler Date: Mon Oct 6 16:05:30 2008 +0800 iwlwifi: scan fix comment This patch moves comment to proper line, it has moved during code shuffling. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit d588be6bae40f7965f1b681a4dbc3254411787b9 Author: Tomas Winkler Date: Mon Oct 6 16:05:29 2008 +0800 iwlwifi: scan correct setting of valid rx_chains This patch sets rx_chain bitmap correctly according hw configuration. Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit cccf129f820e431d84690729254a32f1709328fb Author: Felix Fietkau Date: Sun Oct 5 18:07:45 2008 +0200 mac80211: add the 'minstrel' rate control algorithm Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 2f7fe87034298d94301315ba4bb65c7284c709d0 Author: Felix Fietkau Date: Sun Oct 5 18:05:48 2008 +0200 ath5k: implement multi-rate retry support, fix tx status reporting Clean up the tx status reporting, fix retry counters (short retries are virtual collisions, not actual retries). Implement multi-rate retry support. This also fixes strong throughput fluctuations with rc80211_pid Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 870abdf67170daa9f1022e55a35c469239fcc74c Author: Felix Fietkau Date: Sun Oct 5 18:04:24 2008 +0200 mac80211: add multi-rate retry support This patch adjusts the rate control API to allow multi-rate retry if supported by the driver. The ieee80211_hw struct specifies how many alternate rate selections the driver supports. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 76708dee382a69b2f9d0e50f413f99fefb2dc509 Author: Felix Fietkau Date: Sun Oct 5 18:02:48 2008 +0200 mac80211: free up 2 bytes in skb->cb Free up 2 bytes in skb->cb to be used for multi-rate retry later. Move iv_len and icv_len initialization into key alloc. Signed-off-by: Felix Fietkau Signed-off-by: John W. Linville commit 417bd25ac4c6f76c8aafe8a584f3620f4a936b72 Author: Henrique de Moraes Holschuh Date: Fri Oct 3 16:58:05 2008 -0300 rfkill: update LEDs for all state changes The LED state was not being updated by rfkill_force_state(), which will cause regressions in wireless drivers that had old-style rfkill support and are updated to use rfkill_force_state(). The LED state was not being updated when a change was detected through the rfkill->get_state() hook, either. Move the LED trigger update calls into notify_rfkill_state_change(), where it should have been in the first place. This takes care of both issues above. Signed-off-by: Henrique de Moraes Holschuh Acked-by: Ivo van Doorn Cc: stable@kernel.org Signed-off-by: John W. Linville commit 5b5d13afeeee959a74114b73c560d3e243f34a11 Author: Gertjan van Wingerde Date: Fri Oct 3 20:20:32 2008 +0200 rt2x00: Fix rfkill structure initialization to prevent rfkill WARN_ON. The state field of the rfkill structure was incorrectly initialized to -1, which results in rfkill issueing a WARN_ON. Fix this by initializing the state field to the proper value as indicated by the driver. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit f74b6a5498049bab28419a03e4b31fcdbe7a900d Author: Rami Rosen Date: Thu Oct 2 16:48:22 2008 +0300 mac80211: remove redundant check in ieee80211_master_start_xmit (net/mac80211/tx.c) - This patch (against the linux-wireless-next git tree) removes a redundant check in ieee80211_master_start_xmit (net/mac80211/tx.c) and adjust indentation in this method accordingly. In this method, there is no need to call again the ieee80211_is_data() method; this is checked immediately before, in the "if" command (we will not enter this block unless ieee80211_is_data() is true, so that the "and" (&&) condition in that "if" command will be fullfilled ). Signed-off-by: Rami Rosen Acked-by: Johannes Berg Signed-off-by: John W. Linville commit cf3e74c2e4a438480c11782b17e90029f5d24696 Author: Christian Lamparter Date: Tue Sep 30 23:36:00 2008 +0200 p54: report appropriate rate and band values for 802.11a This patch adds the a few lines that went missing in "p54: 802.11a 5GHz phy support" Essentially: the rx-code wasn't updated and therefore reported the wrong band, but more importantly the rate index was off as well, since 802.11a doesn't allow the "four" 802.11b rates... Signed-off-by: Christian Lamparter Signed-off-by: John W. Linville commit 5d6ffc533678c936e366809acaff8401af43a4af Author: Davide Pesavento Date: Tue Sep 30 19:56:34 2008 +0200 wireless: fix typo in Kconfig. Signed-off-by: Davide Pesavento Signed-off-by: John W. Linville commit 6f255425ac3b10c3352c926e7b53e5ea1c364ca4 Author: Luis R. Rodriguez Date: Fri Oct 3 15:45:27 2008 -0700 ath9k: enable ANI to help with noisy environments This enables Adaptive Noise Immunity (ANI) on ath9k. ANI is as algorithm designed to minimize the detrimental effects of time-varying interferences. This should help with throughput in noisy environments. To use ANI we re-enable the MIB interrupt. Since ANI works on a timer and updates the noise floor we take advantage of this and also report a non-static noise floor now to mac80211. Signed-off-by: Sujith Manoharan Signed-off-by: Jouni Malinen Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit a477e4e6d48d3ac7c7a75bad40585cb391e5c237 Author: Luis R. Rodriguez Date: Fri Oct 3 15:45:26 2008 -0700 ath9k: fix oops on trying to hold the wrong spinlock We were trying to hold the wrong spinlock due to a typo on IEEE80211_BAR_CTL_TID_S's definition. We use this to compute the tid number and then hold this this tid number's spinlock. Signed-off-by: Vasanthakumar Thiagarajan Signed-off-by: Sujith Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 0345f37be64905846a1ef38378061d4c2730242e Author: Luis R. Rodriguez Date: Fri Oct 3 15:45:25 2008 -0700 ath9k: kill ath9k's memzero() and use memset() instead Part of the cleanup on ath9k -- this was also causing some annoying compile time warnings. Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville commit 8ef9dad3f7c0bdae84cd57f2bc6d4f53421406a8 Author: Tomas Winkler Date: Sat Sep 27 22:58:18 2008 +0300 mac80211: remove shadowed variables in ieee80211_master_start_xmit This patch removes doubly defined variables in ieee80211_master_start_xmit Signed-off-by: Tomas Winkler Signed-off-by: John W. Linville commit 74af025073461b9ebe82771e48a5b8596c3cf75c Author: Linus Torvalds Date: Fri Sep 5 12:38:09 2008 -0700 wireless: restore revert lost to merge damage Restore revert "mac80211: Use IWEVASSOCREQIE instead of IWEVCUSTOM", originally reverted in commit bf7394ccc13fe291d9258f01113b4c61214ddeae. Signed-off-by: John W. Linville commit 6b37faa175311128dc920aaa57a5f7fab85537d7 Author: Jeff Layton Date: Mon Oct 6 21:54:41 2008 +0000 [CIFS] fix some settings of cifsAttrs after calling SetFileInfo and SetPathInfo We only need to set them when we call SetFileInfo or SetPathInfo directly, and as soon as possible after then. We had one place setting it where it didn't need to be, and another place where it was missing. Signed-off-by: Jeff Layton Signed-off-by: Steve French commit a5e8546a8bff5d2047adc279df5753c44ba7b1a1 Merge: cb7f6a7... c700448... Author: Simon Horman Date: Tue Oct 7 08:40:11 2008 +1100 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 into lvs-next-2.6 commit cb7f6a7b716e801097b564dec3ccb58d330aef56 Author: Julius Volz Date: Fri Sep 19 12:32:57 2008 +0200 IPVS: Move IPVS to net/netfilter/ipvs Since IPVS now has partial IPv6 support, this patch moves IPVS from net/ipv4/ipvs to net/netfilter/ipvs. It's a result of: $ git mv net/ipv4/ipvs net/netfilter and adapting the relevant Kconfigs/Makefiles to the new path. Signed-off-by: Julius Volz Signed-off-by: Simon Horman commit 8ec8ebaeceedf3a845f9e23885f26d0d00eefeb7 Author: John W. Linville Date: Mon Oct 6 16:16:38 2008 -0400 ath9k: fixup some merge damage This hunk was originally removed as part of "ath9k: Fix IRQ nobody cared issue with ath9k". Signed-off-by: John W. Linville commit c7004482e8dcb7c3c72666395cfa98a216a4fb70 Author: David S. Miller Date: Mon Oct 6 10:43:54 2008 -0700 tcp: Respect SO_RCVLOWAT in tcp_poll(). Based upon a report by Vito Caputo. Signed-off-by: David S. Miller commit 6252352d16f7b45a0fd42224f7e70e0288dc4480 Author: Jarek Poplawski Date: Mon Oct 6 10:41:50 2008 -0700 pkt_sched: Simplify dev_requeue_skb and dequeue_skb qdisc->requeue was planned to universally replace all requeuing code, but at the top level we never requeue more than one skb, so qdisc-> gso_skb is enough for this. qdisc->requeue would be used on the lower levels only for one level deep requeuing (like in sch_hfsc) after finishing all the changes. Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit 554794de7949d1a6279336404c066f974d4c2bde Author: Jarek Poplawski Date: Mon Oct 6 09:54:39 2008 -0700 pkt_sched: Fix handling of gso skbs on requeuing Jay Cliburn noticed and diagnosed a bug triggered in dev_gso_skb_destructor() after last change from qdisc->gso_skb to qdisc->requeue list. Since gso_segmented skbs can't be queued to another list this patch brings back qdisc->gso_skb for them. Reported-by: Jay Cliburn Signed-off-by: Jarek Poplawski Signed-off-by: David S. Miller commit e496e3d645c93206faf61ff6005995ebd08cc39c Merge: b159d7a... 5bbd4c3... 175e438... 516cbf3... af2d237... 9b15684... 5b7e41f... 1befdef... a03352d... 7b22ff5... 2c7e9fd... 91030ca... dd55235... b3e15bd... 20211e4... efd327a... c7ffa6c... e51a1ac... 5df4551... d99e901... e621bd1... Author: Ingo Molnar Date: Mon Oct 6 18:17:07 2008 +0200 Merge branches 'x86/alternatives', 'x86/cleanups', 'x86/commandline', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/doc', 'x86/exports', 'x86/fpu', 'x86/gart', 'x86/idle', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/oprofile', 'x86/paravirt', 'x86/reboot', 'x86/sparse-fixes', 'x86/tsc', 'x86/urgent' and 'x86/vmalloc' into x86-v28-for-linus-phase1 commit b159d7a989e53ab3529084348aa80441520b8575 Merge: 0962f40... 4ab4ba3... Author: Ingo Molnar Date: Mon Oct 6 18:16:40 2008 +0200 Merge branch 'x86/tracehook' into x86-v28-for-linus-phase1 Conflicts: arch/x86/kernel/signal_64.c Signed-off-by: Ingo Molnar commit 0962f402af1bb0b53ccee626785d202a10c12fff Merge: 19268ed... 8d7ccaa... Author: Ingo Molnar Date: Mon Oct 6 16:18:26 2008 +0200 Merge branch 'x86/prototypes' into x86-v28-for-linus-phase1 Conflicts: arch/x86/kernel/process_32.c Signed-off-by: Ingo Molnar commit 1e19b16a30c34c042f1eaa23db4c99bfad1dac0e Author: Thomas Gleixner Date: Mon Oct 6 14:15:24 2008 +0200 AMD IOMMU: use iommu_device_max_index, fix include/linux/iommu-helper.h has no header guards, which breaks sparc64 build. Add them. Signed-off-by: Thomas Gleixner Cc: Joerg Roedel Cc: FUJITA Tomonori Signed-off-by: Ingo Molnar commit 19268ed7449c561694d048a34601a30e2d1aaf79 Merge: b8cd9d0... 493cd91... Author: Ingo Molnar Date: Mon Oct 6 16:17:23 2008 +0200 Merge branch 'x86/pebs' into x86-v28-for-linus-phase1 Conflicts: include/asm-x86/ds.h Signed-off-by: Ingo Molnar commit b8cd9d056bbc5f2630ab1787dbf76f83bbb517c0 Merge: fec6ed1... 1503af6... Author: Ingo Molnar Date: Mon Oct 6 16:15:57 2008 +0200 Merge branch 'x86/header-guards' into x86-v28-for-linus-phase1 Conflicts: include/asm-x86/dma-mapping.h include/asm-x86/gpio.h include/asm-x86/idle.h include/asm-x86/kvm_host.h include/asm-x86/namei.h include/asm-x86/uaccess.h Signed-off-by: Ingo Molnar commit 34b3ede2353604ec9861c1d900b2a835ff85de47 Author: Li Zefan Date: Mon Oct 6 09:27:00 2008 +0800 sched: remove redundant code in cpu_cgroup_create() css will be initialized by cgroup core. Signed-off-by: Li Zefan Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 2c10c22af088ab5d94fae93ce3fe6436b2a208b4 Merge: f6121f4... fec6ed1... Author: Ingo Molnar Date: Mon Oct 6 08:13:18 2008 +0200 Merge branch 'linus' into sched/devel commit 13c1d18931ebb5cf407cb348ef2cd6284d68902d Author: Arnaud Ebalard Date: Sun Oct 5 13:33:42 2008 -0700 xfrm: MIGRATE enhancements (draft-ebalard-mext-pfkey-enhanced-migrate) Provides implementation of the enhancements of XFRM/PF_KEY MIGRATE mechanism specified in draft-ebalard-mext-pfkey-enhanced-migrate-00. Defines associated PF_KEY SADB_X_EXT_KMADDRESS extension and XFRM/netlink XFRMA_KMADDRESS attribute. Signed-off-by: Arnaud Ebalard Signed-off-by: David S. Miller commit 95430c0b140c31cb9e39f876afe1c0e9947d1aaf Author: Rémi Denis-Courmont Date: Sun Oct 5 11:16:36 2008 -0700 Phonet: pipe end-point protocol documentation Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 02a47617cdce440f60c71a51f3a93f9f5fcc5a7a Author: Rémi Denis-Courmont Date: Sun Oct 5 11:16:16 2008 -0700 Phonet: implement GPRS virtual interface over PEP socket Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit c41bd97f815720f9404f97da0c4f4400b52c243d Author: Rémi Denis-Courmont Date: Sun Oct 5 11:15:43 2008 -0700 Phonet: receive pipe control requests as out-of-band data Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 9641458d3ec42def729fde64669abf07f3220cd5 Author: Rémi Denis-Courmont Date: Sun Oct 5 11:15:13 2008 -0700 Phonet: Pipe End Point for Phonet Pipes protocol This protocol provides some connection handling and negotiated congestion control. Nokia cellular modems use it for bulk transfers. It provides packet boundaries (hence SOCK_SEQPACKET). Congestion control is per packet rather per byte, so we do not re-use the generic socket memory accounting. Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 9995a32b4d14dcda2f8df58030526bee91114c16 Author: Rémi Denis-Courmont Date: Sun Oct 5 11:14:48 2008 -0700 Phonet: connected sockets glue Signed-off-by: Rémi Denis-Courmont Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 25532824fb727744a302edb25c6a6ac10b82cb63 Author: Rémi Denis-Courmont Date: Sun Oct 5 11:14:27 2008 -0700 Phonet: modules auto-loading support Signed-off-by: Rémi Denis-Courmont Signed-off-by: David S. Miller commit 7afb9dc9a5663befea612b03615efc694d5c3ce7 Author: Herbert Xu Date: Sun Oct 5 09:20:28 2008 -0700 netdrv: Fix unregister_netdev typos Found during the (partial) unregister_netdevice audit that we didn't have to have :) It looks like a couple of Sun NIC drivers had unregister_netdevice when they really meant unregister_netdev. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit dd5523552c2897e3fde16fc2fc8f6332addf66ab Author: Yinghai Lu Date: Sat Oct 4 14:50:33 2008 -0700 x86: mtrr_cleanup: treat WRPROT as UNCACHEABLE For the purpose of MTRR canonicalization, treat WRPROT as UNCACHEABLE. Signed-off-by: Yinghai Lu Signed-off-by: H. Peter Anvin commit 99e1aa17ce434010dd820b583628370cc15f10f3 Author: Yinghai Lu Date: Sat Oct 4 14:50:32 2008 -0700 x86: mtrr_cleanup: first 1M may be covered in var mtrrs The first 1M is don't care when it comes to the variables MTRRs. Cover it as WB as a heuristic approximation; this is generally what we want to minimize the number of registers. Signed-off-by: Yinghai Lu Signed-off-by: H. Peter Anvin commit 42fde7a05c5d6dc76e518ae12091ea897b1c132b Author: Yinghai Lu Date: Sat Oct 4 19:34:18 2008 -0700 x86: mtrr_cleanup: print out correct type v2 Print out the correct type when the Write Protected (WP) type is seen. Signed-off-by: Yinghai Lu Signed-off-by: H. Peter Anvin commit a0a08fdca534e1dffc6d8bb239f53177ab06f946 Author: Hartley Sweeten Date: Sat Oct 4 20:01:49 2008 +0100 [ARM] 5273/2: ep93xx: move ethernet support into core.c All EP93xx based systems can support Ethernet. This patch moves the platform_device setup from the various board support files into the core support file. The Ethernet driver data still remains in the individual platform setup files to allow specific platform configuration. This also adds Ethernet support to the edb9302, edb9312, and edb9315 platforms. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit f6121f4f8708195e88cbdf8dd8d171b226b3f858 Author: Dario Faggioli Date: Fri Oct 3 17:40:46 2008 +0200 sched_rt.c: resch needed in rt_rq_enqueue() for the root rt_rq While working on the new version of the code for SCHED_SPORADIC I noticed something strange in the present throttling mechanism. More specifically in the throttling timer handler in sched_rt.c (do_sched_rt_period_timer()) and in rt_rq_enqueue(). The problem is that, when unthrottling a runqueue, rt_rq_enqueue() only asks for rescheduling if the runqueue has a sched_entity associated to it (i.e., rt_rq->rt_se != NULL). Now, if the runqueue is the root rq (which has a rt_se = NULL) rescheduling does not take place, and it is delayed to some undefined instant in the future. This imply some random bandwidth usage by the RT tasks under throttling. For instance, setting rt_runtime_us/rt_period_us = 950ms/1000ms an RT task will get less than 95%. In our tests we got something varying between 70% to 95%. Using smaller time values, e.g., 95ms/100ms, things are even worse, and I can see values also going down to 20-25%!! The tests we performed are simply running 'yes' as a SCHED_FIFO task, and checking the CPU usage with top, but we can investigate thoroughly if you think it is needed. Things go much better, for us, with the attached patch... Don't know if it is the best approach, but it solved the issue for us. Signed-off-by: Dario Faggioli Signed-off-by: Michael Trimarchi Acked-by: Peter Zijlstra Cc: Signed-off-by: Ingo Molnar commit 81990fbdd18b9cfdc93dc221ff3250f81468aed8 Author: Paul Moore Date: Fri Oct 3 10:51:15 2008 -0400 selinux: Fix an uninitialized variable BUG/panic in selinux_secattr_to_sid() At some point during the 2.6.27 development cycle two new fields were added to the SELinux context structure, a string pointer and a length field. The code in selinux_secattr_to_sid() was not modified and as a result these two fields were left uninitialized which could result in erratic behavior, including kernel panics, when NetLabel is used. This patch fixes the problem by fully initializing the context in selinux_secattr_to_sid() before use and reducing the level of direct context manipulation done to help prevent future problems. Please apply this to the 2.6.27-rcX release stream. Signed-off-by: Paul Moore Signed-off-by: James Morris commit 68c9d702bb72f367f3b148963ec6cf5e07ff7f65 Author: Josef Bacik Date: Fri Oct 3 17:32:43 2008 -0400 generic block based fiemap implementation Any block based fs (this patch includes ext3) just has to declare its own fiemap() function and then call this generic function with its own get_block_t. This works well for block based filesystems that will map multiple contiguous blocks at one time, but will work for filesystems that only map one block at a time, you will just end up with an "extent" for each block. One gotcha is this will not play nicely where there is hole+data after the EOF. This function will assume its hit the end of the data as soon as it hits a hole after the EOF, so if there is any data past that it will not pick that up. AFAIK no block based fs does this anyway, but its in the comments of the function anyway just in case. Signed-off-by: Josef Bacik Signed-off-by: Mark Fasheh Signed-off-by: "Theodore Ts'o" Cc: linux-fsdevel@vger.kernel.org commit 00dc417fa3e763345b34ccb6034d72de76eea0a1 Author: Mark Fasheh Date: Fri Oct 3 17:32:11 2008 -0400 ocfs2: fiemap support Plug ocfs2 into ->fiemap. Some portions of ocfs2_get_clusters() had to be refactored so that the extent cache can be skipped in favor of going directly to the on-disk records. This makes it easier for us to determine which extent is the last one in the btree. Also, I'm not sure we want to be caching fiemap lookups anyway as they're not directly related to data read/write. Signed-off-by: Mark Fasheh Signed-off-by: "Theodore Ts'o" Cc: ocfs2-devel@oss.oracle.com Cc: linux-fsdevel@vger.kernel.org commit c4b929b85bdb64afacbbf6453b1f2bf7e14c9e89 Author: Mark Fasheh Date: Wed Oct 8 19:44:18 2008 -0400 vfs: vfs-level fiemap interface Basic vfs-level fiemap infrastructure, which sets up a new ->fiemap inode operation. Userspace can get extent information on a file via fiemap ioctl. As input, the fiemap ioctl takes a struct fiemap which includes an array of struct fiemap_extent (fm_extents). Size of the extent array is passed as fm_extent_count and number of extents returned will be written into fm_mapped_extents. Offset and length fields on the fiemap structure (fm_start, fm_length) describe a logical range which will be searched for extents. All extents returned will at least partially contain this range. The actual extent offsets and ranges returned will be unmodified from their offset and range on-disk. The fiemap ioctl returns '0' on success. On error, -1 is returned and errno is set. If errno is equal to EBADR, then fm_flags will contain those flags which were passed in which the kernel did not understand. On all other errors, the contents of fm_extents is undefined. As fiemap evolved, there have been many authors of the vfs patch. As far as I can tell, the list includes: Kalpak Shah Andreas Dilger Eric Sandeen Mark Fasheh Signed-off-by: Mark Fasheh Signed-off-by: "Theodore Ts'o" Cc: Michael Kerrisk Cc: linux-api@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org commit 4d20c685fa365766a8f13584b4c8178a15ab7103 Author: Kalpak Shah Date: Wed Oct 8 23:21:54 2008 -0400 ext4: fix xattr deadlock ext4_xattr_set_handle() eventually ends up calling ext4_mark_inode_dirty() which tries to expand the inode by shifting the EAs. This leads to the xattr_sem being downed again and leading to a deadlock. This patch makes sure that if ext4_xattr_set_handle() is in the call-chain, ext4_mark_inode_dirty() will not expand the inode. Signed-off-by: Kalpak Shah Signed-off-by: "Theodore Ts'o" commit 45a90bfd90c1215bf824c0f705b409723f52361b Author: Theodore Ts'o Date: Mon Oct 6 12:04:02 2008 -0400 jbd2: Fix buffer head leak when writing the commit block Also make sure the buffer heads are marked clean before submitting bh for writing. The previous code was marking the buffer head dirty, which would have forced an unneeded write (and seek) to the journal for no good reason. Signed-off-by: "Theodore Ts'o" commit ede86cc473defab74d778aeac14b19f43129d4d1 Author: Theodore Ts'o Date: Sun Oct 5 20:50:06 2008 -0400 ext4: Add debugging markers that can be used by systemtap This debugging markers are designed to debug problems such as the random filesystem latency problems reported by Arjan. Signed-off-by: "Theodore Ts'o" commit 23f8b79eae8a74e42a006ffa7c456e295c7e1c0d Author: Duane Griffin Date: Wed Oct 8 23:28:31 2008 -0400 jbd2: abort instead of waiting for nonexistent transaction The __jbd2_log_wait_for_space function sits in a loop checkpointing transactions until there is sufficient space free in the journal. However, if there are no transactions to be processed (e.g. because the free space calculation is wrong due to a corrupted filesystem) it will never progress. Check for space being required when no transactions are outstanding and abort the journal instead of endlessly looping. This patch fixes the bug reported by Sami Liedes at: http://bugzilla.kernel.org/show_bug.cgi?id=10976 Signed-off-by: Duane Griffin Cc: Sami Liedes Cc: Signed-off-by: Andrew Morton Signed-off-by: "Theodore Ts'o" commit c806e68f5647109350ec546fee5b526962970fd2 Author: Frederic Bohe Date: Fri Oct 10 08:09:18 2008 -0400 ext4: fix initialization of UNINIT bitmap blocks This fixes a bug which caused on-line resizing of filesystems with a 1k blocksize to fail. The root cause of this bug was the fact that if an uninitalized bitmap block gets read in by userspace (which e2fsprogs does try to avoid, but can happen when the blocksize is less than the pagesize and an adjacent blocks is read into memory) ext4_read_block_bitmap() was erroneously depending on the buffer uptodate flag to decide whether it needed to initialize the bitmap block in memory --- i.e., to set the standard set of blocks in use by a block group (superblock, bitmaps, inode table, etc.). Essentially, ext4_read_block_bitmap() assumed it was the only routine that might try to read a block containing a block bitmap, which is simply not true. To fix this, ext4_read_block_bitmap() and ext4_read_inode_bitmap() must always initialize uninitialized bitmap blocks. Once a block or inode is allocated out of that bitmap, it will be marked as initialized in the block group descriptor, so in general this won't result any extra unnecessary work. Signed-off-by: Frederic Bohe Signed-off-by: "Theodore Ts'o" commit c2ea3fde61f1df1dbf062345f23277dcd6f01dfe Author: Theodore Ts'o Date: Fri Oct 10 09:40:52 2008 -0400 ext4: Remove old legacy block allocator Signed-off-by: "Theodore Ts'o" commit 240799cdf22bd789ea6852653c3b879d35ad0a6c Author: Theodore Ts'o Date: Thu Oct 9 23:53:47 2008 -0400 ext4: Use readahead when reading an inode from the inode table With modern hard drives, reading 64k takes roughly the same time as reading a 4k block. So request readahead for adjacent inode table blocks to reduce the time it takes when iterating over directories (especially when doing this in htree sort order) in a cold cache case. With this patch, the time it takes to run "git status" on a kernel tree after flushing the caches via "echo 3 > /proc/sys/vm/drop_caches" is reduced by 21%. Signed-off-by: "Theodore Ts'o" commit 37515facd001942221d68171c81c1f46d54ffdd0 Author: Theodore Ts'o Date: Thu Oct 9 23:21:54 2008 -0400 ext4: Improve the documentation for ext4's /proc tunables Signed-off-by: "Theodore Ts'o" Cc: Alex Tomas Cc: Andreas Dilger commit 7191a0a18228c8da9abc7776433c6a3953ff1e4b Author: Bob Sharp Date: Fri Oct 3 12:21:19 2008 -0700 RDMA/nes: Fix routed RDMA connections Fix routed RDMA connections to destinations where the next hop is not the final destination. Use neigh_*() to properly locate neighbor. Signed-off-by: Bob Sharp Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung commit 7e36d3d732438de894802f87a0ca21372e00fb74 Author: Vadim Makhervaks Date: Fri Oct 3 12:21:18 2008 -0700 RDMA/nes: Enhanced PFT management scheme Change management of perfect filter table to allow enhanced performance applications. Signed-off-by: Vadim Makhervaks Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 41bfcf90101601f9507240ff0435c1b73d28a132 Author: Swen Schillig Date: Wed Oct 1 12:42:26 2008 +0200 [SCSI] zfcp: fix double dbf id usage Trace ids 107 and 3 are used twice, fix this to have unique ids for the erp triggers. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 091694a556d168dc9df4d79e3a40116550b183cf Author: Swen Schillig Date: Wed Oct 1 12:42:25 2008 +0200 [SCSI] zfcp: wait on SCSI work to be finished before proceeding with init dev Due to the character of a scheduled work we cannot guarantee the LUN register to be finished before an initial device tries to use it. Therefor we have to wait for PENDING_SCSI_WORK flag to be cleared before proceeding. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 9fb3cd86e4870d54d71a80323e97c48df4de05bd Author: Swen Schillig Date: Wed Oct 1 12:42:24 2008 +0200 [SCSI] zfcp: fix erp list usage without using locks The zfcp_erp_thread was using the nolock version of the dbf function. This resulted in a list access while other tasks could modifying the list. The symptom was an erp thread running at 100% CPU and never returning from the dbf function. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit e4e9ba5d9313f362d2192fb7a2d35a3bfb714b1e Author: Swen Schillig Date: Wed Oct 1 12:42:23 2008 +0200 [SCSI] zfcp: prevent fc_remote_port_delete calls for unregistered rport In case of an adapter reopen all rports have to be deleted from the environment. This should only happen for already registered rports otherwise fc_remote_port_delete is called with a NULL pointer. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit b7f15f3c94196accac799727502ed88a029ae7ef Author: Swen Schillig Date: Wed Oct 1 12:42:22 2008 +0200 [SCSI] zfcp: fix deadlock caused by shared work queue tasks Each adapter reopen trigger automatically a scan_port task which is waiting for the ERP to be finished before further processing. Since the initial device setup enqueues adapter, port and LUN which are individual ERP actions, this process would start after everything is done. Unfortunately the port_reopen requires another scheduled work to be finished which is queued after the automatic scan_port -> deadlock ! This fix creates an own work queue for ERP based nameserver requests. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 57069386699994c3e67042fc4928c418f3a39e01 Author: Swen Schillig Date: Wed Oct 1 12:42:21 2008 +0200 [SCSI] zfcp: put threshold data in hba trace Now that we removed the long messages for the bit error threshold data, put the data in the hba trace. This way, we get a short warning for the threshold event from the hardware and have the data in the trace for further analysis. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 0406289ed57955860a4f8d744a14f4c819260ce4 Author: Christof Schmitt Date: Wed Oct 1 12:42:20 2008 +0200 [SCSI] zfcp: Simplify zfcp data structures Reduce the size of zfcp data structures by removing unused and redundant members. scsi_lun is only the mangled version of the fcp_lun. So, remove the redundant field and use the fcp_lun instead. Since the queue lock and the pci_batch indicator are only used in the request queue, move them from the common queue struct to the adapter struct. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit a1b449de5d35b9eec8981c6ea999eea263b19a0b Author: Swen Schillig Date: Wed Oct 1 12:42:19 2008 +0200 [SCSI] zfcp: Simplify get_adapter_by_busid Call the helper function from cio instead looping through all zfcp adapters. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 7ba58c9cc16d296290fe645acb11db2b01276544 Author: Swen Schillig Date: Wed Oct 1 12:42:18 2008 +0200 [SCSI] zfcp: remove all typedefs and replace them with standards Remove typedefs from zfcp, use already existing types instead. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 5ab944f97e09a3d52951fe903eed9a7b88d810b2 Author: Swen Schillig Date: Wed Oct 1 12:42:17 2008 +0200 [SCSI] zfcp: attach and release SAN nameserver port on demand Changing the zfcp behaviour from always having the nameserver port open to an on-demand strategy. This strategy reduces the use of limited resources like port connections. The patch provides a common infrastructure which could be used for all WKA ports in future. Also reduce the number of nameserver lookups by changing the zfcp behaviour of always querying the nameserver for the corresponding destination ID of the remote port. If the destination ID has changed during the reopen process we will be informed and then trigger a nameserver query on demand. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 44cc76f2d154aa24340354b4711a0fe7f8f08adc Author: Swen Schillig Date: Wed Oct 1 12:42:16 2008 +0200 [SCSI] zfcp: remove unused references, declarations and flags - Remove unused references and declarations, including one instance of the FC ls_adisc struct that has been defined twice. - Also remove the flags COMMON_OPENING, COMMON_CLOSING, ADAPTER_REGISTERED and XPORT_OK that are only set and cleared, but not checked anywhere. - Remove the zfcp specific atomic_test_mask makro. Simply use atomic_read directly instead. - Remove the zfcp internal sg helper functions and switch the places where it is still used to call sg_virt directly. - With the update of the QDIO code, the QDIO data structures no longer use the volatile type qualifier. Now we can also remove the volatile qualifiers from the zfcp code. Signed-off-by: Swen Schillig Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit ff3b24fa5370a7ca618f212284d9b36fcedb9c0e Author: Christof Schmitt Date: Wed Oct 1 12:42:15 2008 +0200 [SCSI] zfcp: Update message with input from review Update the kernel messages in zfcp with input from the message review and remove some messages that have been identified as redundant. Signed-off-by: Christof Schmitt Signed-off-by: Swen Schillig Signed-off-by: James Bottomley commit 2450d3e7b8604d0abb042817f2502cb7ee0b782f Author: Stefan Raspl Date: Wed Oct 1 12:42:14 2008 +0200 [SCSI] zfcp: add queue_full sysfs attribute Adds a new sysfs attribute queue_full for adapters that records the number of incidents where a requests could not be submitted due to insufficient free space on the request queue. Signed-off-by: Stefan Raspl Signed-off-by: Martin Peschke Signed-off-by: Christof Schmitt Signed-off-by: James Bottomley commit 7ae628d9d21a088b4a2d26a9d39c29c0acd2d03b Author: James Bottomley Date: Tue Sep 23 07:58:59 2008 -0700 [SCSI] scsi_dh: suppress comparison warning On Mon, 2008-09-22 at 14:56 -0700, akpm@linux-foundation.org wrote: > From: Andrew Morton > > s390: > > drivers/scsi/device_handler/scsi_dh_emc.c: In function 'parse_sp_info_reply': > drivers/scsi/device_handler/scsi_dh_emc.c:179: warning: comparison is always false due to limited range of data type > > because chars are unsigned, I assume. Fix by making csdev->buffer explicitly an unsigned char and dropping the < 0 test. Signed-off-by: James Bottomley commit 650849d71ca05d55a1553fe42fb21af9dce5612b Author: Yanqing_Liu@Dell.com Date: Thu Oct 2 12:18:33 2008 -0500 [SCSI] scsi_dh: add Dell product information into rdac device handler Add Dell Powervault storage arrays into device list of rdac device handler. Signed-off-by: Yanqing Liu Signed-off-by: James Bottomley commit b78ded89156827b50729518b1d13fea6defb46ee Author: Adrian Bunk Date: Mon Sep 22 14:56:49 2008 -0700 [SCSI] qla2xxx: remove the unused SCSI_QLOGIC_FC_FIRMWARE option This option was forgotten when the SCSI_QLOGIC_FC driver was removed. Reported-by: Robert P. J. Day Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley commit 4a3e1ea8b2f25f962e91883be880de678bad8e3e Author: Alexander Beregalov Date: Thu Sep 18 04:09:57 2008 +0400 [SCSI] qla2xxx: fix printk format warnings Signed-off-by: Alexander Beregalov Acked-by: Andrew Vasquez Signed-off-by: James Bottomley commit 36d1cdcffbbb33b966d6bdd6534bb03c22b3fd0c Author: Andrew Vasquez Date: Thu Sep 11 21:22:54 2008 -0700 [SCSI] qla2xxx: Update version number to 8.02.01-k8. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 59d72d873ccfaf59e9ceea1487459f5a57c0d504 Author: Ravi Anand Date: Thu Sep 11 21:22:53 2008 -0700 [SCSI] qla2xxx: Ignore payload reserved-bits during RSCN processing. As the driver is only interested in bits 0-9 of the 1st RSCN-payload word: rsvd[15:14]RscnEventQualifier[13:10]Fmt[9:8]Domain[7:0] Area[15:8]Alpa[7:0] Signed-off-by: Ravi Anand Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 2d136938792ba04bf3b6bb2d3a2807dc05c396fc Author: Andrew Vasquez Date: Thu Sep 11 21:22:52 2008 -0700 [SCSI] qla2xxx: Additional residual-count corrections during UNDERRUN handling. Add additional tightening of residual-count handling (originally from commit 6acf8190025e9c4ea513d4084ff089d476112816) where the driver should discard any lower SCSI-status during firmware/transport residual-count mismatches. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit cc3ef7bc40bbede7bbd0bb395d6452a575e95efe Author: Bjorn Helgaas Date: Thu Sep 11 21:22:51 2008 -0700 [SCSI] qla2xxx: Fix "occured" spelling errors. Fix "occured" spelling errors. Most of these are in comments, which I wouldn't normally bother with, but a couple are in printks, which irritate me more. So I just fixed them all at the same time. Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 272976ca186982f7bbc4f22876c53d6c9f7b6e32 Author: Andrew Vasquez Date: Thu Sep 11 21:22:50 2008 -0700 [SCSI] qla2xxx: Add NPIV-Config Table support. To instatiate pre-configured vport entities defined within an HBA's flash memory. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit c00d8994d91e51aa6b891ad0e877f66cc1011de2 Author: Andrew Vasquez Date: Thu Sep 11 21:22:49 2008 -0700 [SCSI] qla2xxx: Add Flash Layout Table support. The Flash Layout Table (FLT) present on many recent HBAs encodes flash usage information, organizes data stored into separate regions and presents the information uniformly to the driver. Use this information rather than using specific hard-coded values based on ISP type. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 4b89258c7320bab4155b692e76ae9ffdd85e79be Author: Andrew Vasquez Date: Thu Sep 11 21:22:48 2008 -0700 [SCSI] qla2xxx: Change GFP_ATOMIC to GFP_KERNEL for non-atomic allocations. Both call-sites are sleeping-capable. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 49fd462a1ba4a1b9bfbfe01d279d506017d85492 Author: Harish Zunjarrao Date: Thu Sep 11 21:22:47 2008 -0700 [SCSI] qla2xxx: Add input/output byte-count statistics. Currently Firmware does not have counters for input megabytes and output megabytes, therefore driver counts these values depending on the status of the scsi command and direction of the command. The values are exported in the FC_HOST path. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit ac26d41dee65167109e7cdcd0289b44ca61cd741 Author: Mike Christie Date: Sat Sep 6 08:39:15 2008 -0500 [SCSI] libiscsi: return error passed in during iscsi recovery Due to patch building error on my side, we are still passing DID_BUS_BUSY for commands that are running, when we want to return whatever the caller of fail_all_commands wanted. This replaces the hardcoded error code with the value that is passed in. Signed-off-by: Mike Christie Signed-off-by: James Bottomley commit a7bbb57333447d0cf950992653b6b079585f3531 Author: Pierre Ossman Date: Sat Sep 6 10:57:57 2008 +0200 [SCSI] mmc_block: use generic helper to print capacities Signed-off-by: Pierre Ossman Signed-off-by: James Bottomley commit a30c3f69e6336cb9b09a989595e417367e4e9b1b Author: Andrew Vasquez Date: Fri Jul 18 08:32:52 2008 -0700 [SCSI] fc_transport: Add an API to allow an LLD to create vports There's already a fc_vport_termintate() call exported by the transport. This patch adds a symmetric call to the API to allow an NPIV-capable LLD to instantiate vports sans user intervention. Additional comments/updates: Re: scsi_fc_transport.txt Add a function prototype for fc_vport_terminate similar to what's done for fc_vport_create Re: fc_vport_create I recommend we pass the channel number in fc_vport_create rather than fixing it at zero. Also, ids->vport_type should be set to FC_PORTTYPE_NPIV prior to calling fc_vport_create. The comment is also meaningless. Added-by and Signed-off-by: James Smart Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 7404ad3b6d04efbd918e9e2e776bf560fbedf47d Author: James Bottomley Date: Sun Aug 31 10:41:52 2008 -0500 [SCSI] sd: use generic helper to print capacities in both binary and SI Signed-off-by: James Bottomley commit 3c9f3681d0b4af09c1cbf04f92fdfb72bd81ad7b Author: James Bottomley Date: Sun Aug 31 10:13:54 2008 -0500 [SCSI] lib: add generic helper to print sizes rounded to the correct SI range This patch adds the ability to print sizes in either units of 10^3 (SI) or 2^10 (Binary) units. It rounds up to three significant figures and can be used for either memory or storage capacities. Oh, and I'm fully aware that 64 bits is only 16EiB ... the Zetta and Yotta units are added for future proofing against the day we have 128 bit computers ... [fujita.tomonori@lab.ntt.co.jp: fix missed unsigned long long cast] Signed-off-by: James Bottomley commit 114f1ea408944f9515e45aa7452238fb15a1fa00 Author: FUJITA Tomonori Date: Mon Aug 25 13:51:58 2008 -0700 [SCSI] scsi_dh: no need to initialize rq->cmd with blk_get_request blk_get_request initializes rq->cmd (rq_init does) so the users don't need to do that. Signed-off-by: FUJITA Tomonori Signed-off-by: Chandra Seetharaman Signed-off-by: James Bottomley commit 6f4267e3bd1211b3d09130e626b0b3d885077610 Author: James Bottomley Date: Fri Aug 22 16:53:31 2008 -0500 [SCSI] Update the SCSI state model to allow blocking in the created state Brian King reported that fibre channel devices can oops during scanning if their ports block (because the device goes from CREATED -> BLOCK -> RUNNING rather than CREATED -> BLOCK -> CREATED). Fix this by adding a new state: CREATED_BLOCK which can only transition back to CREATED and disallow the CREATED -> BLOCK transition. Now both the created and blocked states that the mid-layer recognises can include CREATED_BLOCK. Signed-off-by: James Bottomley commit 0f1d87a2acb8fd1f2ef8af109a785123ddc1a6cb Author: James Bottomley Date: Fri Aug 22 16:43:59 2008 -0500 [SCSI] add inline functions for recognising created and blocked states The created and blocked states are very shortly going to correspond to mixed sdev_state states. Signed-off-by: James Bottomley commit 22447be7d15aefcfab84e9bec4859a28198b0c62 Author: James Smart Date: Fri Aug 8 02:14:18 2008 -0400 [SCSI] scsi_netlink: Add transport and LLD recieve and event support This patch adds scsi netlink recieve and event support for transport and scsi LLDD's. It is a reimplementation of the patch posted last week by David Somayajulu. http://marc.info/?l=linux-scsi&m=121745486221819&w=2 There are a few things done differently: - Transport support is included - Event delivery is included - The vendor message is now its own unique message type, considered part of the generic "SCSI Transport". - LLDD entry points are now registered rather than included in the scsi_host_template. Background: When I started to implement the event handler via template, I had to either: muck up scsi_add_host and scsi_remove_host; or have the event handler search all possible shosts. Neither was acceptable. Moving to a registration solves this, and also limits the scope of the changes to something that could be backported to a distro without breaking an already-released-distro kabi. However, I admit it isn't as elegant, as the passing of the LLDD host template in the registration and the complexity around dynamic add/remove shows. - The receive path was augmented to require a unique identifier for the LLDD before the message was allowed to be handed off to the driver. Given how quickly very fatal errors occur if there's msg mismatches (which I saw in testing my own tools :), I believe this to be a very good thing. The id plays off the vendor id scheme already introduced for the vendor unique event messages used by FC. Additionally, the id use as the basis of the registration/deregistration. - Send assist functions, for both the transport and LLDDs are included. [fujita.tomonori@lab.ntt.co.jp: fix missing cast] Signed-off-by: James Smart Signed-off-by: James Bottomley commit 557cc476c04146ee610f4bc77bfe20ce1c823d7c Author: Nick Warne Date: Sun Aug 17 00:00:44 2008 +0200 [SCSI] tmscsim: Fixup KERN_INFO in printk Multiline kernel messages should contain a priority in every line, besides, some log daemons represent a tabulator as "^I", fix both these issues. Signed-off-by: Nick Warne Signed-off-by: Guennadi Liakhovetski Signed-off-by: James Bottomley commit 3fd7f938831b7f2e7b6103118ad1a455f6f03110 Author: Matthew Wilcox Date: Wed Aug 13 21:36:55 2008 -0700 [SCSI] qla2xxx: Remove semaphore.h Now that qla2xxx has been converted to mutexes, it no longer needs the semaphore include. Signed-off-by: Matthew Wilcox Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 315cb0ad124575e75da2d0e0a95990587fc23485 Author: James Smart Date: Thu Aug 7 20:49:30 2008 -0400 [SCSI] scsi_host_lookup: error returns and NULL pointers This patch cleans up the behavior of scsi_host_lookup(). The original implementation attempted to use the dual role of either returning a pointer value, or a negative error code. User's needed to use IS_ERR() to check the result. Additionally, the IS_ERR() macro never checks for when a NULL pointer was returned, so a NULL pointer actually passes with a success case. Note: scsi_host_get(), used by scsi_host_lookup(), can return a NULL pointer. Talk about a mudhole for the unitiated to step into.... This patch converts scsi_host_lookup() to return either NULL or a valid pointer. The consumers were updated for the change. Signed-off-by: James Smart Signed-off-by: James Bottomley commit c46c948260f41af18b277c1eb1895d788d3605dc Author: Jonathan Cameron Date: Fri Oct 3 15:07:36 2008 +0100 [ARM] 5278/1: i2c-pxa fast mode support Add fast_mode option to i2c_pxa_platform_data and use it to set the ICR_FM bit appropriately when i2c_pxa_reset is called. Parameter called fast_mode rather than frequency as this driver is also used for the i2c_pxa_pwr bus which has different normal and fast frequencies. Signed-off-by: Jonathan Cameron Acked-by: Eric Miao Signed-off-by: Russell King commit d294eb83d8d39a29f01dad391f15fc3a29aa04f9 Author: Frederic Weisbecker Date: Fri Oct 3 12:10:10 2008 +0200 cpusets: scan_for_empty_cpusets(), cpuset doesn't seem to be so const This fixes a warning on latest -tip: kernel/cpuset.c: Dans la fonction «scan_for_empty_cpusets» : kernel/cpuset.c:1932: attention : passing argument 1 of «list_add_tail» discards qualifiers from pointer target type Actually the struct cpuset *root passed in parameter to scan_for_empty_cpusets is not supposed to be const since an entry is added on the tail of its list. Just correct the qualifier. Signed-off-by: Frederic Weisbecker Signed-off-by: Ingo Molnar commit 000b50259271c9c14f6e175795f5164e1d51d35b Author: Catalin Marinas Date: Fri Oct 3 11:09:10 2008 +0100 [ARM] 5229/3: Replace some ARMv7 opcodes with the instruction name These instructions were placed in the code directly as opcodes because early compilers didn't support them. Toolchains supporting ARMv7 understand these instructions and the patch puts the mnemonics back. Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 92e88aa7fb8190031dca9e04acbf4821bd77941b Author: Hartley Sweeten Date: Thu Oct 2 17:13:02 2008 +0100 [ARM] 5276/1: ep93xx: allow selecting UART for early kernel messages Currently on the EP93xx platform early kernel messages go to UART1. Since this UART is the only one that has modem control signals it might be used for another purpose and it is undesirable for those messages to appear. This patch allows one of the other UARTs to be selected in the kernel configuration. It is assumed that the bootloader has configured and initialized the UART since this was the previous assumption. Signed-off-by: H Hartley Sweeten Signed-off-by: Russell King commit ec36b16d0d1ae0a43eb8c395e9bf58efdadad1d7 Author: Dmitry Baryshkov Date: Thu Dec 27 14:19:44 2007 +0100 [ARM] 4733/1: export sharpsl_param EXPORT sharpsl_param which is necessary to support modular build of some depending drivers. Signed-off-by: Dmitry Baryshkov Signed-off-by: Russell King commit 2ec2b482b10a1ed3493c224f1893cddd3d33833b Author: Ingo Molnar Date: Fri Oct 3 10:41:00 2008 +0200 rcu: RCU-based detection of stalled CPUs for Classic RCU, fix fix the !CONFIG_RCU_CPU_STALL_DETECTOR path: kernel/rcuclassic.c: In function '__rcu_pending': kernel/rcuclassic.c:609: error: too few arguments to function 'check_cpu_stall' Signed-off-by: Ingo Molnar commit 2133b5d7ff531bc15a923db4a6a50bf96c561be9 Author: Paul E. McKenney Date: Thu Oct 2 16:06:39 2008 -0700 rcu: RCU-based detection of stalled CPUs for Classic RCU This patch adds stalled-CPU detection to Classic RCU. This capability is enabled by a new config variable CONFIG_RCU_CPU_STALL_DETECTOR, which defaults disabled. This is a debugging feature to detect infinite loops in kernel code, not something that non-kernel-hackers would be expected to care about. This feature can detect looping CPUs in !PREEMPT builds and looping CPUs with preemption disabled in PREEMPT builds. This is essentially a port of this functionality from the treercu patch, replacing the stall debug patch that is already in tip/core/rcu (commit 67182ae1c4). The changes from the patch in tip/core/rcu include making the config variable name match that in treercu, changing from seconds to jiffies to avoid spurious warnings, and printing a boot message when this feature is enabled. Signed-off-by: Paul E. McKenney Signed-off-by: Ingo Molnar commit b5259d944279d0b7e78a83849a352d8ba0447c4c Merge: 1c50b72... 94aca1d... Author: Ingo Molnar Date: Fri Oct 3 10:34:36 2008 +0200 Merge commit 'v2.6.27-rc8' into core/rcu commit 175e438f7a2de9d94110046be48697969569736a Author: Russ Anderson Date: Thu Oct 2 17:32:06 2008 -0500 x86: trivial printk fix in efi.c [patch] x86: Trivial printk fix in efi.c The following line is lacking a space between "memdesc" and "doesn't". "Kernel-defined memdescdoesn't match the one from EFI!" Fixed the printk by adding a space. Signed-off-by: Russ Anderson Cc: Russ Anderson Signed-off-by: Ingo Molnar commit 8bb39311bf461243f6cade3644764d848516dd23 Author: Yinghai Lu Date: Thu Oct 2 23:26:59 2008 -0700 x86, debug: mtrr_cleanup print out var mtrr before change it Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 834836ee6a3a9deadff9394b23db965a08bcde35 Author: Yinghai Lu Date: Thu Oct 2 15:46:20 2008 -0700 x86: mtrr_cleanup try gran_size to less than 1M, v3 J.A. Magallón reported: >> Also, on a 64 bit box with 4Gb, it gives this: >> >> cicely:~# cat /proc/mtrr >> reg00: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 >> reg01: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 >> reg02: base=0x140000000 (5120MB), size= 512MB: write-back, count=1 >> reg03: base=0x160000000 (5632MB), size= 256MB: write-back, count=1 >> reg04: base=0x80000000 (2048MB), size=2048MB: uncachable, count=1 boundary handling has a problem ... fix it. Reported-by: J.A. Magallón Signed-off-by: Ingo Molnar commit 136c82c6f7f12c9bed8bf709f92123077966512c Author: J.A. Magallón Date: Fri Oct 3 00:32:37 2008 +0200 x86: mtrr_cleanup try gran_size to less than 1M, cleanup Patch below cleans up formatting, with space for big bases and sizes (64 Gb). Signed-off-by: Ingo Molnar commit 49ea26d0a0fa8eebc4bf0432ec3ad35a35202615 Author: Kristoffer Ericson Date: Thu Oct 2 20:15:35 2008 +0100 [ARM] 5277/1: Add basic support for MobilePro 900/c This patch adds basic support for the Mobilepro 900/c mini-laptop. At present it won't do much more than build and boot. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 4e9687d9c843dc34d368358a36f5f1610e4fbab3 Author: Marek Vašut Date: Thu Sep 11 19:37:32 2008 +0100 [ARM] 5248/1: wm97xx generic battery driver This patch adds generic battery driver for wm97xx chips. Signed-off-by: Marek Vasut Acked-by: Anton Vorontsov Acked-by: Mark Brown Signed-off-by: Russell King commit 3319f5e51a20f3e3c59ed7dac9fc2d5c89aa2d9f Author: Nicolas Pitre Date: Thu Oct 2 03:29:22 2008 +0100 [ARM] 5274/1: simplify request_standard_resources() There is no point converting memory bank addresses from physical to virtual just to convert them back to physical addresses. Furthermore this isn't "right" for highmem even if in this case the end result is the correct one. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 40becd8d5af03ee7935e79c3fccd0d1f380d95b4 Author: FUJITA Tomonori Date: Mon Sep 29 00:06:36 2008 +0900 AMD IOMMU: use iommu_device_max_index AMD IOMMU can use iommu_device_max_index() instead of the homegrown function. Signed-off-by: FUJITA Tomonori Acked-by: Joerg Roedel Signed-off-by: Ingo Molnar commit 0ac4ed9d76400e7c073b9d81cea13f8613d24361 Author: Gilles Chanteperdrix Date: Fri Sep 26 15:44:43 2008 +0100 [NET] 5268/1: cs89x0: add support for i.MX31ADS ARM board. Add support for i.MX31ADS board to the cs89x0 ethernet driver. Rework Kconfig options for the cs89x0 driver to reduce the #ifdef clutter. Signed-off-by: Gilles Chanteperdrix Signed-off-by: Russell King commit 457cd4f5e3011da47f2f76e2bdc545ffcc1189db Author: Dick Hollenbeck Date: Tue Sep 16 18:30:27 2008 +0100 [ARM] 5250/1: unbalanced enable_irq() for serial_ks8695.c fix The function ks8695uart_set_termios() would cause an unbalanced enable_irq() generated message to be printk()ed. This is because there was no book keeping support to remember if the calls to enable_irq() and disable_irq() were balanced for the modem control irq. Signed-off-by: Dick Hollenbeck Signed-off-by: Russell King commit 2532967147f750fa661bdc3d1f890314c37dda28 Author: Jürgen Schindele Date: Tue Sep 16 21:36:30 2008 +0100 [ARM] 5251/1: remove old LED support for Trizeps4 SOM Remove the old led support in arch/arm/mach-pxa/leds... for TRIZEPS4 SOM. It is / will be replaced by generic led driver drivers/leds/... Signed-off-by: Jürgen Schindele Acked-by: Eric Miao Signed-off-by: Russell King commit 642aa6637e46ae788f1f8916dc9aa5a68917e12e Author: Jürgen Schindele Date: Mon Aug 18 21:45:03 2008 +0100 [ARM] 5204/1: Trizeps4 SOM update - use MFP-API for GPIO - support TRIZEPS4WL module - cleanups Signed-off-by: Jrgen Schindele Acked-by: Eric Miao Signed-off-by: Russell King commit bda03086093d4535e39ee8a6120e3fbb73e83b1a Author: Kristoffer Ericson Date: Mon Sep 29 17:09:10 2008 +0100 [ARM] 5270/1: Fix Formatting in mach-sa1100/ machine files This patch fixes formatting issues in mach-sa1100/ machine files. More specificly badge4.c,generic.c and pleb.c. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 89c816b94892e4132aaf4a8b92b0d512e3adc6f3 Author: Kristoffer Ericson Date: Thu Sep 18 12:36:36 2008 +0100 [ARM] 5256/1: Update jornada default config This patch updates the jornada default config (which was made for 2.6.12). Plenty of development has happend since then, most importantly the SSP driver and kbd/touchscr. This config has been tested to compile and bootup properly. Signed-off-by: Kristoffer Ericson Signed-off-by: Russell King commit 4ba3f7c55938d7e51e23c1feedd035dd46716ae7 Author: Russell King Date: Wed Oct 1 21:38:23 2008 +0100 [ARM] mm: allow LH7A40x to use sparsemem Enable Sparsemem support for LH7A40x SoCs, while still allowing the existing discontig support for the time being. Signed-off-by: Russell King commit 07a2f737ba1d73ace591dd03c512bb0dd63f6785 Author: Russell King Date: Wed Oct 1 21:39:58 2008 +0100 [ARM] mm: deprecate discontigmem on ARM Signed-off-by: Russell King commit ee93916efe22f767628f9d25abb8ad8548797336 Author: Russell King Date: Wed Oct 1 21:03:21 2008 +0100 [ARM] mm: switch SA1100 to use sparsemem Tested on Assabet, and Assabet with Neponset's SDRAM at 3328M phys. Signed-off-by: Russell King commit 07f841b7c587a3cbf481509be09ba5eda05f8d31 Author: Russell King Date: Wed Oct 1 17:11:06 2008 +0100 [ARM] mm: enable sparsemem on clps7500 and RiscPC Signed-off-by: Russell King commit b7a69ac303cbfc8d6fa8e91d10e8049244ba6847 Author: Russell King Date: Wed Oct 1 16:58:32 2008 +0100 [ARM] mm: finish ARM sparsemem support ... including some comments about the ordering required to bring sparsemem up. You have to repeatedly guess, test, reguess, try again and again to work out what the right ordering is. Many hours later... Signed-off-by: Russell King commit d2a38ef9c1585b47462c7be5501228ac57fbd3b1 Author: Russell King Date: Wed Oct 1 16:56:15 2008 +0100 [ARM] mm: provide helpers for accessing membanks Provide helpers for getting physical addresses or pfns from the meminfo array, and use them. Move for_each_nodebank() to asm/setup.h alongside the meminfo structure definition. Signed-off-by: Russell King commit 8ec53663d2698076468b3e1edc4e1b418bd54de3 Author: Russell King Date: Sun Sep 7 17:16:54 2008 +0100 [ARM] Improve non-executable support Add support for detecting non-executable stack binaries, and adjust permissions to prevent execution from data and stack areas. Also, ensure that READ_IMPLIES_EXEC is enabled for older CPUs where that is true, and for any executable-stack binary. Signed-off-by: Russell King commit 5ec9407dd1196daaf12b427b351e2cd62d2a16a7 Author: Russell King Date: Sun Sep 7 19:15:31 2008 +0100 [ARM] Don't include asm/elf.h in asm code asm code really wants asm/hwcap.h, so include that instead. Signed-off-by: Russell King commit 9b727abdff93b0039fba94e96216fc280af4cf01 Author: Russell King Date: Sun Sep 7 12:45:01 2008 +0100 [ARM] Remove MT_NONSHARED_DEVICE alias Use MT_DEVICE_NONSHARED instead. Signed-off-by: Russell King commit db5b7169474882fabbd811a4cf5c1bae3157e677 Author: Russell King Date: Sun Sep 7 12:42:51 2008 +0100 [ARM] Remove MT_DEVICE_IXP2000 and associated definitions As of the previous commit, MT_DEVICE_IXP2000 encodes to the same PTE bit encoding as MT_DEVICE, so it's now redundant. Convert MT_DEVICE_IXP2000 to use MT_DEVICE instead, and remove its aliases. Signed-off-by: Russell King commit 40df2d1d8538865341a4cb9d4b7a375296517ad2 Author: Russell King Date: Sun Sep 7 12:36:46 2008 +0100 [ARM] Update Xscale and Xscale3 PTE mappings Use 'shared device' mappings for devices, and use the standard bit combinations for Xscale3. Signed-off-by: Russell King commit 40d192b63d079db1f76cec9ae8ccbf461fda23e4 Author: Russell King Date: Sat Sep 6 21:15:56 2008 +0100 [ARM] remove 'prot_pte_ext' from memory type table This member is now redundant; the memory type is encoded in the Linux PTE bits. Signed-off-by: Russell King commit 3f69c0c1af288d6b124d0a928a33b51061ebf850 Author: Russell King Date: Mon Sep 15 17:23:10 2008 +0100 [ARM] Convert ARMv7 to use TEX remapping Signed-off-by: Russell King commit 639b0ae7f5bcd645862a9c3ea2d4321475c71d7a Author: Russell King Date: Sat Sep 6 21:07:45 2008 +0100 [ARM] Convert ARMv6 and ARMv7 to use new memory types Signed-off-by: Russell King commit 9e8b5199a753a2583a8ef8360e6428304a242283 Author: Russell King Date: Sat Sep 6 20:47:54 2008 +0100 [ARM] Convert Xscale and Xscale3 to use new memory types Signed-off-by: Russell King commit bb30f36f9b71c31dc8fe3483bba4c9884fc86080 Author: Russell King Date: Sat Sep 6 20:04:59 2008 +0100 [ARM] Introduce new PTE memory type bits Provide L_PTE_MT_xxx definitions to describe the memory types that we use in Linux/ARM. These definitions are carefully picked such that: 1. their LSBs match what is required for pre-ARMv6 CPUs. 2. they all have a unique encoding, including after modification by build_mem_type_table() (the result being that some have more than one combination.) Signed-off-by: Russell King commit 9cff96e5bfc8e366166bfb07610604c7604ac48c Author: Russell King Date: Sat Sep 6 18:53:37 2008 +0100 [ARM] Re-jig Linux PTE bits to allow room for 4 memory type bits Signed-off-by: Russell King commit da0916539d20f257dfa46784357300e49d6bfd00 Author: Russell King Date: Sat Sep 6 17:19:08 2008 +0100 [ARM] Convert set_pte_ext implementions to macros There are actually only four separate implementations of set_pte_ext. Use assembler macros to insert code for these into the proc-*.S files. Signed-off-by: Russell King commit e69c4e0f1210450841e40716894ba6a877b31d52 Author: Vlad Yasevich Date: Mon Sep 15 16:29:49 2008 -0400 sctp: correctly save sctp_adaptation from parameter. The INIT perameter carries the adapatation value in network-byte order. We need to store it in host byte order as expected by data types and the user API. Signed-off-by: Vlad Yasevich commit 96cd0d3d710e64c55e034b77052d7ac46f094759 Author: Vlad Yasevich Date: Mon Sep 8 14:00:26 2008 -0400 sctp: enable cookie-echo retransmission transport switch This patch enables cookie-echo retransmission transport switch feature. If COOKIE-ECHO retransmission happens, it will be sent to the address other than the one last sent to. Signed-off-by: Gui Jianfeng Signed-off-by: Vlad Yasevich commit 8190f89dfd09dae0c117fb0745f5a820bd19a5a4 Author: Wei Yongjun Date: Mon Sep 8 12:13:55 2008 +0800 sctp: Fix the SNMP counter of SCTP_MIB_OUTOFBLUES RFC3873 defined SCTP_MIB_OUTOFBLUES: sctpOutOfBlues OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of out of the blue packets received by the host. An out of the blue packet is an SCTP packet correctly formed, including the proper checksum, but for which the receiver was unable to identify an appropriate association." REFERENCE "Section 8.4 in RFC2960 deals with the Out-Of-The-Blue (OOTB) packet definition and procedures." But OOTB packet INIT, INIT-ACK and SHUTDOWN-ACK(COOKIE-WAIT or COOKIE-ECHOED state) are not counted by SCTP_MIB_OUTOFBLUES. Case 1(INIT): Endpoint A Endpoint B (CLOSED) (CLOSED) INIT ----------> <---------- ABORT Case 2(INIT-ACK): Endpoint A Endpoint B (CLOSED) (CLOSED) INIT-ACK ----------> <---------- ABORT Case 3(SHUTDOWN-ACK): Endpoint A Endpoint B (CLOSED) (CLOSED) <---------- INIT SHUTDOWN-ACK ----------> <---------- SHUTDOWN-COMPLETE Case 4(SHUTDOWN-ACK): Endpoint A Endpoint B (CLOSED) (COOKIE-ECHOED) SHUTDOWN-ACK ----------> <---------- SHUTDOWN-COMPLETE This patch fixed the problem. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 536428a9b9a98495f7ea54ad95cad83e22f1d47d Author: Wei Yongjun Date: Fri Sep 5 08:55:26 2008 +0800 sctp: Fix to start T5-shutdown-guard timer while enter SHUTDOWN-SENT state RFC 4960: Section 9.2 The sender of the SHUTDOWN MAY also start an overall guard timer 'T5-shutdown-guard' to bound the overall time for the shutdown sequence. At the expiration of this timer, the sender SHOULD abort the association by sending an ABORT chunk. If the 'T5-shutdown- guard' timer is used, it SHOULD be set to the recommended value of 5 times 'RTO.Max'. The timer 'T5-shutdown-guard' is used to counter the overall time for shutdown sequence, and it's start by the sender of the SHUTDOWN. So timer 'T5-shutdown-guard' should be start when we send the first SHUTDOWN chunk and enter the SHUTDOWN-SENT state, not start when we receipt of the SHUTDOWN primitive and enter SHUTDOWN-PENDING state. If 'T5-shutdown-guard' timer is start at SHUTDOWN-PENDING state, the association may be ABORT while data is still transmitting. Signed-off-by: Wei Yongjun Signed-off-by: Vlad Yasevich commit 52cae8f06babf9eed327479c1aa024ce3732f912 Author: Vlad Yasevich Date: Mon Aug 18 10:34:34 2008 -0400 sctp: try harder to figure out address family when checking wildcards sctp_is_any() function that is used to check for wildcard addresses only looks at the address itself to determine the address family. This function is used in the API to check the address passed in from the user. If the user simply zerroes out the sockaddr_storage and pass that in, we'll end up failing. So, let's try harder to determine the address family by also checking the socket if it's possible. Signed-off-by: Vlad Yasevich commit c226ef9b83694311327f3ab0036c6de9c22e9daf Author: Neil Horman Date: Fri Jul 25 12:44:09 2008 -0400 sctp: reduce memory footprint of sctp_chunk structure sctp_chunks should be put on a diet. This is some of the low hanging fruit that we can strip out. Changes all the __s8/__u8 flags to bitfields. Saves 12 bytes per chunk. Signed-off-by: Neil Horman Signed-off-by: Vlad Yasevich commit 845b8eda4d783a7ce2670d482a716840a650389e Author: Vlad Yasevich Date: Mon Jun 23 15:26:20 2008 -0400 sctp: Retransmit list is ineligable for missing indications Chunks placed on the retransmit list are marked as inelegible for fast retrasnmission. Since missing indications determine when fast reransmission is done, there is not point in calling sctp_mark_missing() on the retransmit list since those chunks will not be marked. Signed-off-by: Vlad Yasevich commit ab5216a5bd453752f04bb79c29e8f01b11d69006 Author: Vlad Yasevich Date: Thu Jun 19 18:17:24 2008 -0400 sctp: Optimize SFR-CACC transport list walking during SACK processing There is a possibility of walking the transport list twice during SACK processing when doing SFR-CACC algorithm. We can restructure the code to only do this once. Signed-off-by: Vlad Yasevich commit 2cd9b822bfa79fc1335d3e71a0449f3cd0b5078e Author: Vlad Yasevich Date: Thu Jun 19 17:59:13 2008 -0400 sctp: Only mark chunks as missing when there are gaps Frist small step in optimizing SACK processing. Do not call sctp_mark_missing() when there are no gaps reported and thus not missing chunks. Signed-off-by: Vlad Yasevich commit bcd41303f422015ab662c9276d108414aa75b796 Author: KOVACS Krisztian Date: Wed Oct 1 07:48:10 2008 -0700 udp: Export UDP socket lookup function The iptables tproxy code has to be able to do UDP socket hash lookups, so we have to provide an exported lookup function for this purpose. Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit a3116ac5c216fc3c145906a46df9ce542ff7dcf2 Author: KOVACS Krisztian Date: Wed Oct 1 07:46:49 2008 -0700 tcp: Port redirection support for TCP Current TCP code relies on the local port of the listening socket being the same as the destination address of the incoming connection. Port redirection used by many transparent proxying techniques obviously breaks this, so we have to store the original destination port address. This patch extends struct inet_request_sock and stores the incoming destination port value there. It also modifies the handshake code to use that value as the source port when sending reply packets. Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit 86b08d867d7de001ab224180ed7865fab93fd56e Author: KOVACS Krisztian Date: Wed Oct 1 07:44:42 2008 -0700 ipv4: Make Netfilter's ip_route_me_harder() non-local address compatible Netfilter's ip_route_me_harder() tries to re-route packets either generated or re-routed by Netfilter. This patch changes ip_route_me_harder() to handle packets from non-locally-bound sockets with IP_TRANSPARENT set as local and to set the appropriate flowi flags when re-doing the routing lookup. Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit 88ef4a5a78e63420dd1dd770f1bd1dc198926b04 Author: KOVACS Krisztian Date: Wed Oct 1 07:41:00 2008 -0700 tcp: Handle TCP SYN+ACK/ACK/RST transparency The TCP stack sends out SYN+ACK/ACK/RST reply packets in response to incoming packets. The non-local source address check on output bites us again, as replies for transparently redirected traffic won't have a chance to leave the node. This patch selectively sets the FLOWI_FLAG_ANYSRC flag when doing the route lookup for those replies. Transparent replies are enabled if the listening socket has the transparent socket flag set. Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit 79876874ce20d37ecdc7f481ebf142466999152f Author: KOVACS Krisztian Date: Wed Oct 1 07:35:39 2008 -0700 ipv4: Conditionally enable transparent flow flag when connecting Set FLOWI_FLAG_ANYSRC in flowi->flags if the socket has the transparent socket option set. This way we selectively enable certain connections with non-local source addresses to be routed. Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit 1668e010cbe1a7567c81d4c02d31dde9859e9da1 Author: KOVACS Krisztian Date: Wed Oct 1 07:33:10 2008 -0700 ipv4: Make inet_sock.h independent of route.h inet_iif() in inet_sock.h requires route.h. Since users of inet_iif() usually require other route.h functionality anyway this patch moves inet_iif() to route.h. Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit b9fb15067ce93497bef852c05e406d7a96212a9a Author: Tóth László Attila Date: Wed Oct 1 07:31:24 2008 -0700 ipv4: Allow binding to non-local addresses if IP_TRANSPARENT is set Setting IP_TRANSPARENT is not really useful without allowing non-local binds for the socket. To make user-space code simpler we allow these binds even if IP_TRANSPARENT is set but IP_FREEBIND is not. Signed-off-by: Tóth László Attila Signed-off-by: David S. Miller commit f5715aea4564f233767ea1d944b2637a5fd7cd2e Author: KOVACS Krisztian Date: Wed Oct 1 07:30:02 2008 -0700 ipv4: Implement IP_TRANSPARENT socket option This patch introduces the IP_TRANSPARENT socket option: enabling that will make the IPv4 routing omit the non-local source address check on output. Setting IP_TRANSPARENT requires NET_ADMIN capability. Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit a210d01ae3ee006b59e54e772a7f212486e0f021 Author: Julian Anastasov Date: Wed Oct 1 07:28:28 2008 -0700 ipv4: Loosen source address check on IPv4 output ip_route_output() contains a check to make sure that no flows with non-local source IP addresses are routed. This obviously makes using such addresses impossible. This patch introduces a flowi flag which makes omitting this check possible. The new flag provides a way of handling transparent and non-transparent connections differently. Signed-off-by: Julian Anastasov Signed-off-by: KOVACS Krisztian Signed-off-by: David S. Miller commit 4edd87ad5cad8e159e0db3ce3131b3d97219c9cd Author: Herbert Xu Date: Wed Oct 1 07:09:38 2008 -0700 net: BUG instead of corrupting memory in pskb_expand_head If the caller of pskb_expand_head specifies a negative nhead we'll silently overwrite other people's memory. This patch makes it BUG instead. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit 12a169e7d8f4b1c95252d8b04ed0f1033ed7cfe2 Author: Herbert Xu Date: Wed Oct 1 07:03:24 2008 -0700 ipsec: Put dumpers on the dump list Herbert Xu came up with the idea and the original patch to make xfrm_state dump list contain also dumpers: As it is we go to extraordinary lengths to ensure that states don't go away while dumpers go to sleep. It's much easier if we just put the dumpers themselves on the list since they can't go away while they're going. I've also changed the order of addition on new states to prevent a never-ending dump. Timo Teräs improved the patch to apply cleanly to latest tree, modified iteration code to be more readable by using a common struct for entries in the list, implemented the same idea for xfrm_policy dumping and moved the af_key specific "last" entry caching to af_key. Signed-off-by: Herbert Xu Signed-off-by: Timo Teras Signed-off-by: David S. Miller commit b262e60309e1b0eb25d300c7e739427d5316abb1 Merge: 93c8b90... 0523820... Author: David S. Miller Date: Wed Oct 1 06:12:56 2008 -0700 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/ath9k/core.c drivers/net/wireless/ath9k/main.c net/core/dev.c commit 93c8b90f01f0dc73891da4e84b26524b61d29d66 Author: Ilpo Järvinen Date: Wed Oct 1 02:48:31 2008 -0700 ipv6: almost identical frag hashing funcs combined $ diff-funcs ip6qhashfn reassembly.c netfilter/nf_conntrack_reasm.c --- reassembly.c:ip6qhashfn() +++ netfilter/nf_conntrack_reasm.c:ip6qhashfn() @@ -1,5 +1,5 @@ -static unsigned int ip6qhashfn(__be32 id, struct in6_addr *saddr, - struct in6_addr *daddr) +static unsigned int ip6qhashfn(__be32 id, const struct in6_addr *saddr, + const struct in6_addr *daddr) { u32 a, b, c; @@ -9,7 +9,7 @@ a += JHASH_GOLDEN_RATIO; b += JHASH_GOLDEN_RATIO; - c += ip6_frags.rnd; + c += nf_frags.rnd; __jhash_mix(a, b, c); a += (__force u32)saddr->s6_addr32[3]; And codiff xx.o.old xx.o.new: net/ipv6/netfilter/nf_conntrack_reasm.c: ip6qhashfn | -512 nf_hashfn | +6 nf_ct_frag6_gather | +36 3 functions changed, 42 bytes added, 512 bytes removed, diff: -470 net/ipv6/reassembly.c: ip6qhashfn | -512 ip6_hashfn | +7 ipv6_frag_rcv | +89 3 functions changed, 96 bytes added, 512 bytes removed, diff: -416 net/ipv6/reassembly.c: inet6_hash_frag | +510 1 function changed, 510 bytes added, diff: +510 Total: -376 Compile tested. Signed-off-by: Ilpo Järvinen Acked-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller commit 2bcb4b0f111053d0e8fb4366f0708395d997e93a Author: Lennert Buytenhek Date: Wed Oct 1 02:33:57 2008 -0700 mv643xx_eth: hook up skb recycling This gives a nice increase in the maximum loss-free packet forwarding rate in routing workloads. Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 04a4bb55bcf35b63d40fd2725e58599ff8310dd7 Author: Lennert Buytenhek Date: Wed Oct 1 02:33:12 2008 -0700 net: add skb_recycle_check() to enable netdriver skb recycling This patch adds skb_recycle_check(), which can be used by a network driver after transmitting an skb to check whether this skb can be recycled as a receive buffer. skb_recycle_check() checks that the skb is not shared or cloned, and that it is linear and its head portion large enough (as determined by the driver) to be recycled as a receive buffer. If these conditions are met, it does any necessary reference count dropping and cleans up the skbuff as if it just came from __alloc_skb(). Signed-off-by: Lennert Buytenhek Signed-off-by: David S. Miller commit 788df7322a7543a337c1ea400d38b621346ea78e Merge: 6e50e8a... 0d5f031... Author: David S. Miller Date: Wed Oct 1 01:55:41 2008 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 commit 6e50e8a2136f1a90de251c653226ded447c5c915 Author: Remi Denis-Courmont Date: Wed Oct 1 01:30:19 2008 -0700 phonet: Protect if_phonet.h against multiple inclusions. From: Remi Denis-Courmont Signed-off-by: David S. Miller commit 24268245d8ba9270152b2281666099ddc8ca389d Author: Ingo Molnar Date: Wed Oct 1 08:59:40 2008 +0200 x86: add PCI IDs for AMD Barcelona PCI devices Signed-off-by: Robert Richter Cc: oprofile-list Cc: Barry Kasindorf Signed-off-by: Ingo Molnar commit 2ffb3501f6f356ff80e7149214bc64d3fa9021c4 Author: Yinghai Lu Date: Tue Sep 30 16:29:40 2008 -0700 x86: change MTRR_SANITIZER to def_bool y This option has been added in v2.6.26 as a default-disabled feature and went through several revisions since then. The feature fixes a wide range of MTRR setup problems that BIOSes leave us with: slow system, slow Xorg, slow system when adding lots of RAM, etc., so we want to enable it by default for v2.6.28. See: [Bug 10508] Upgrade to 4GB of RAM messes up MTRRs http://bugzilla.kernel.org/show_bug.cgi?id=10508 and the test results in: http://lkml.org/lkml/2008/9/29/273 1. hpa reg00: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1 reg01: base=0x13c000000 (5056MB), size= 64MB: uncachable, count=1 reg02: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 reg03: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 reg04: base=0xbf700000 (3063MB), size= 1MB: uncachable, count=1 reg05: base=0xbf800000 (3064MB), size= 8MB: uncachable, count=1 will get Found optimal setting for mtrr clean up gran_size: 1M chunk_size: 128M num_reg: 6 lose RAM: 0M range0: 0000000000000000 - 00000000c0000000 Setting variable MTRR 0, base: 0MB, range: 2048MB, type WB Setting variable MTRR 1, base: 2048MB, range: 1024MB, type WB hole: 00000000bf700000 - 00000000c0000000 Setting variable MTRR 2, base: 3063MB, range: 1MB, type UC Setting variable MTRR 3, base: 3064MB, range: 8MB, type UC range0: 0000000100000000 - 0000000140000000 Setting variable MTRR 4, base: 4096MB, range: 1024MB, type WB hole: 000000013c000000 - 0000000140000000 Setting variable MTRR 5, base: 5056MB, range: 64MB, type UC 2. Dylan Taft reg00: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 reg01: base=0x100000000 (4096MB), size= 512MB: write-back, count=1 reg02: base=0x120000000 (4608MB), size= 256MB: write-back, count=1 reg03: base=0xd0000000 (3328MB), size= 256MB: uncachable, count=1 reg04: base=0xe0000000 (3584MB), size= 512MB: uncachable, count=1 reg05: base=0xc7e00000 (3198MB), size= 2MB: uncachable, count=1 reg06: base=0xc8000000 (3200MB), size= 128MB: uncachable, count=1 will get Found optimal setting for mtrr clean up gran_size: 1M chunk_size: 4M num_reg: 6 lose RAM: 0M range0: 0000000000000000 - 00000000c8000000 Setting variable MTRR 0, base: 0MB, range: 2048MB, type WB Setting variable MTRR 1, base: 2048MB, range: 1024MB, type WB Setting variable MTRR 2, base: 3072MB, range: 128MB, type WB hole: 00000000c7e00000 - 00000000c8000000 Setting variable MTRR 3, base: 3198MB, range: 2MB, type UC rangeX: 0000000100000000 - 0000000130000000 Setting variable MTRR 4, base: 4096MB, range: 512MB, type WB Setting variable MTRR 5, base: 4608MB, range: 256MB, type WB 3. Gabriel reg00: base=0xd0000000 (3328MB), size= 256MB: uncachable, count=1 reg01: base=0xe0000000 (3584MB), size= 512MB: uncachable, count=1 reg02: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 reg03: base=0x100000000 (4096MB), size= 512MB: write-back, count=1 reg04: base=0x120000000 (4608MB), size= 128MB: write-back, count=1 reg05: base=0x128000000 (4736MB), size= 64MB: write-back, count=1 reg06: base=0xcf600000 (3318MB), size= 2MB: uncachable, count=1 will get Found optimal setting for mtrr clean up gran_size: 1M chunk_size: 16M num_reg: 7 lose RAM: 0M range0: 0000000000000000 - 00000000d0000000 Setting variable MTRR 0, base: 0MB, range: 2048MB, type WB Setting variable MTRR 1, base: 2048MB, range: 1024MB, type WB Setting variable MTRR 2, base: 3072MB, range: 256MB, type WB hole: 00000000cf600000 - 00000000cf800000 Setting variable MTRR 3, base: 3318MB, range: 2MB, type UC rangeX: 0000000100000000 - 000000012c000000 Setting variable MTRR 4, base: 4096MB, range: 512MB, type WB Setting variable MTRR 5, base: 4608MB, range: 128MB, type WB Setting variable MTRR 6, base: 4736MB, range: 64MB, type WB 4. Mika Fischer reg00: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1 reg01: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1 reg02: base=0x100000000 (4096MB), size=1024MB: write-back, count=1 reg03: base=0xbf700000 (3063MB), size= 1MB: uncachable, count=1 reg04: base=0xbf800000 (3064MB), size= 8MB: uncachable, count=1 will get Found optimal setting for mtrr clean up gran_size: 1M chunk_size: 16M num_reg: 5 lose RAM: 0M range0: 0000000000000000 - 00000000c0000000 Setting variable MTRR 0, base: 0MB, range: 2048MB, type WB Setting variable MTRR 1, base: 2048MB, range: 1024MB, type WB hole: 00000000bf700000 - 00000000c0000000 Setting variable MTRR 2, base: 3063MB, range: 1MB, type UC Setting variable MTRR 3, base: 3064MB, range: 8MB, type UC rangeX: 0000000100000000 - 0000000140000000 Setting variable MTRR 4, base: 4096MB, range: 1024MB, type WB Signed-off-by: Yinghai Lu Signed-off-by: Ingo Molnar commit 1bb28499979d926806139bbdef6969fc37621118 Author: Faisal Latif Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Handle AE bounds violation Handle async error NES_AEQE_AEID_AMP_BOUNDS_VIOLATION. Signed-off-by: Faisal Latif Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 9d156947c734747065178331e0c95745cf3a55e1 Author: Chien Tung Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Limit critical error interrupts Mask off a critical error after 100 critical error interrupts to keep the system "sane". Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 068e80de6af2b920d2644bba3a2c060431834160 Author: Chien Tung Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Stop spurious MAC interrupts Mask off MAC interrupts on netdev_stop to prevent spurious MAC interrupts on unload/reload of iw_nes. Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 168ac8244df5af1a9ab03bf39e4a9d3161dd9f11 Author: Chien Tung Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Correct tso_wqe_length Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 0c93ae355ed7301249d932e509f8546977d53376 Author: Chien Tung Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Fill in firmware version for ethtool Fill in firmware version for ethtool_drvinfo. Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 27ffed603f555ce0a644de6e550d3462ff51d64f Author: John Lacombe Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Use ethtool timer value Use timer value set via ethtool intead of #defines. Signed-off-by: John Lacombe Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit a06fd26d48eb3304db246f3f4a0aa5a50afb10ec Author: Bob Sharp Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Correct MAX TSO frags value Use correct define for max TSO fragments. Signed-off-by: Bob Sharp Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit e0e31afbf9a9bb6ca934d3c64ef321cb5f873efe Author: Bob Sharp Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Enable MC/UC after changing MTU Re-enable multicast and unicast after changing MTU. Signed-off-by: Bob Sharp Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 7a8d14070b3e2d52d2b531434ed09fa1787ae7ca Author: Bob Sharp Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Free NIC TX buffers when destroying NIC QP Signed-off-by: Bob Sharp Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit e88bd7b624133e0b07adb21c45c9e6f68f8fdda2 Author: Chien Tung Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Fix MDC setting Clear MDC bits before setting them to a new value. Adjust MDC value for 10G. Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 2b537c2824194d50072ab260f54d6fe4cb8d17e8 Author: Chien Tung Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Add wqm_quanta module option Add a module parameter wqm_quanta. It controls the number of segments transmitted at a time. Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit de182149c31786b2b07fa408fb076599b29232a1 Author: Chien Tung Date: Fri Sep 26 15:08:10 2008 -0500 RDMA/nes: Module parameter permissions Change permission to 0644 so root can set mpa_version, disable_mpa_crc, send_first, and nes_drv_opt at runtime. Signed-off-by: Sweta Bhatt Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit c752c78275fbf3fcb1d6d0af9b03ac999fe1963d Author: Jon Mason Date: Tue Sep 30 14:51:19 2008 -0700 RDMA/cxgb3: Set active_mtu in ib_port_attr When running ibv_devinfo, the active_mtu returned is garbage. This is due to the field not being populated in the query_port function in the driver. The patch below populates the active_mtu field with a MTU of 2k. It also zeros the struct, so that any new additions to it will return 0. Signed-off-by: Jon Mason Acked-by: Steve Wise Signed-off-by: Roland Dreier commit fcb7ad31beda842804167f0645ca54660713bcd6 Author: Chien Tung Date: Tue Sep 30 14:49:44 2008 -0700 RDMA/nes: Add support for 4-port 1G HP blade card Add support for NetEffect 4 port 1G HP blade card. The mapping between physical port and MAC is different from the standup card. Signed-off-by: Chien Tung Signed-off-by: Roland Dreier commit 54c86a8c838301e8a619e454b686288578002300 Author: Faisal Latif Date: Tue Sep 30 14:47:27 2008 -0700 RDMA/nes: Make mini_cm_connect() static Signed-off-by: Faisal Latif Signed-off-by: Roland Dreier commit 6c5da7aced798c7781f054a76c769b85f0173561 Author: Russell King Date: Tue Sep 30 19:31:44 2008 +0100 [ARM] mm: move vmalloc= parsing to arch/arm/mm/mmu.c There's no point scattering this around the tree, the parsing of the parameter might as well live beside the code which uses it. That also means we can make vmalloc_reserve a static variable. Signed-off-by: Russell King commit eca73214c9c50e290b8dc823b41730b01788872d Author: Russell King Date: Tue Sep 30 19:29:25 2008 +0100 [ARM] mm: move validation of membanks to one place The newly introduced sanity_check_meminfo() function should be used to collect all validation of the meminfo array, which we have in bootmem_init(). Move it there. Signed-off-by: Russell King commit 0d5f0316593df606515b17b037a1fd36c4b8bfdf Author: Nick Kossifidis Date: Mon Sep 29 01:27:27 2008 +0300 ath5k: Add support for AR2417 v2 * Add support for AR2417 (include pci id) since my previous patch doesn't sit on top of base.c/ath5k.h anymore. * Update module version to 0.6.0 Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 75d0edb82269a1bcf83d32b1d77ab94a5e3ed8af Author: Nick Kossifidis Date: Mon Sep 29 01:24:44 2008 +0300 ath5k: Fix SREV reporting after SREV updates * Fix srev reporting during attach Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 509a106e68aa42acc1a0c44ab365d0de6869bd9e Author: Nick Kossifidis Date: Mon Sep 29 01:23:07 2008 +0300 ath5k: Use QUIET mechanism on tx dma stop * Use QUIET mechanism to drain tx buffer on PCU for newer chips * Make sure that INTPEND is really 1 and not 0xffffffff while checking for pending interrupts Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit ee81c5544bbf49ea5b301784a605d865947ac1b0 Author: Nick Kossifidis Date: Mon Sep 29 01:18:16 2008 +0300 ath5k: Use new srevs to properly attach radio chips * Use new SREV values and PHY srevs to identify radio type durring attach Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 1d280ddcfd6666a45915ccc3a76dee033a6b917b Author: Larry Finger Date: Mon Sep 29 14:19:29 2008 -0500 b43: Increase loop tries in do_dummy_tx One of the spin-on-condition loops in routine do_dummy_tx always exits before the condition is satisfied. The hardware might be left in an inconsistent state that might be the cause of the PHY transmission errors seen by some users. Signed-off-by: Larry Finger Signed-off-by: Michael Buesch Signed-off-by: John W. Linville commit 1bef016a5a2c52de45b332c8fa797958becde9bf Author: Nick Kossifidis Date: Mon Sep 29 02:09:09 2008 +0300 ath5k: Update registers and SREV ids v2 * Update registers * Update SREV values and add some PHY srevs * Prepare ath5k.h for newer radios etc Thanks to Atheros 's HAL source we now know for sure how many parts we have and what their SREV values are. We also have some updates on registers. Prepare ath5k for some major updates ;-) My previous mail had 2 more patches following (git log misusage), sorry for double posting ;-( Changes-Licensed-under: ISC Signed-Off-by: Nick Kossifidis Signed-off-by: John W. Linville commit 14be9947ef9843102b67d315c7483de112b5b2d7 Author: Bob Copeland Date: Sun Sep 28 12:09:43 2008 -0400 ath5k: write beacon control register twice when resetting tsf According to the newly-released Atheros HAL code, asserting the TSF reset bit will toggle a hardware internal state, resulting in a spurious reset on the next chip reset. Whenever we force a TSF bit, write the bit twice to clear the internal signal. Signed-off-by: Bob Copeland Acked-by: Nick Kossifidis Signed-off-by: John W. Linville commit b0dee5784dff3e2984510a7fe7a7e48109001f94 Author: Davide Pesavento Date: Sat Sep 27 17:29:12 2008 +0200 Fix modpost failure when rx handlers are not inlined. When CONFIG_MAC80211_MESH=n and CONFIG_MAC80211_NOINLINE=y, gcc doesn't optimize out a call to ieee80211_rx_h_mesh_fwding, even if the previous comparison is always false in this case. This leads to the following errors during modpost: ERROR: "mpp_path_lookup" [net/mac80211/mac80211.ko] undefined! ERROR: "mpp_path_add" [net/mac80211/mac80211.ko] undefined! Fix by removing the possibility of uninlining ieee80211_rx_h_mesh_fwding rx handler. Signed-off-by: Davide Pesavento Signed-off-by: John W. Linville commit 4c99f3e4cfc3190e01c55e72d15a837d9dc41426 Author: Gertjan van Wingerde Date: Sun Sep 28 15:11:38 2008 +0200 rt2x00: Fix build errors due to modularized rfkill or leds and built-in rt2x00. Fix by disabling rt2x00 rfkill support when rt2x00 is built-in and rfkill has been modularized, and a similar scheme for the relationship between leds_class and rt2x00.. Also, give a warning to the end-user when rfkill-/leds-support is disabled this way, so that the end-user has at least some clues on what is going on. Proper fixing required some general updates of the Kconfig-structure for the rt2x00 driver, whereby internal configuration symbols had to be moved to after the user-visible configuration symbols. Signed-off-by: Gertjan van Wingerde Signed-off-by: Ivo van Doorn Signed-off-by: John W. Linville commit 55ad175fb65a4a3a7e4d1aa13c460de281b4e8ac Author: John W. Linville Date: Mon Sep 29 16:28:21 2008 -0400 ieee80211.h: remove superfluous ETH_P_PAE definition Signed-off-by: John W. Linville commit 3ed6e0803b4fe95107f6cb5a432587d03cd4d17a Author: Anna Neal Date: Fri Sep 26 11:34:35 2008 -0400 libertas: Improvements on automatic tx power control via SIOCSIWTXPOW (fixups) This patch addresses comments from Dan Williams about the patch committed as "libertas: Improvements on automatic tx power control via SIOCSIWTXPOW." Signed-off-by: Anna Neal Signed-off-by: Javier Cardona Signed-off-by: Dan Williams Signed-off-by: John W. Linville commit d88410a0b657c5ccebd1c120af1f14c5ca6a3d95 Author: Rami Rosen Date: Thu Sep 25 20:45:01 2008 +0300 mac80211: remove wme_tx_queue and wme_rx_queue from net/mac80211/sta_info.h This patch removes wme_tx_queue and wme_rx_queue from struct sta_info and from the debugfs sub-structure of struct sta_info in net/mac80211/sta_info.h, as they are useless and not used. Signed-off-by: Rami Rosen Signed-off-by: John W. Linville commit 570bdfb17dfc92061f7e26f6320b309c1df00997 Author: Larry Finger Date: Fri Sep 26 08:23:00 2008 -0500 b43: Fix Bluetooth Coexistence SPROM programming error for HP 12f8 version of BCM4306 Yet another BCM4306 card with the Bluetooth Coexistence SPROM programming error has been found. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit b4a4bf5d77c7d32098a7080f34a8857dd7fa466d Author: Johannes Berg Date: Fri Sep 26 13:34:54 2008 +0200 mac80211: fixups for "make master iface not wireless" In "mac80211: make master iface not wireless" I accidentally forgot to include these changes ... leading to the expected BUG_ON errors. Signed-off-by: Johannes Berg Signed-off-by: John W. Linville commit 093d874c02e8d3091aa38596faf0ff2bfd4f0ceb Author: Winkler, Tomas Date: Fri Sep 26 15:09:34 2008 +0800 iwlwifi: use correct DMA_MASK Use correct DMA_MASK: 4964 and 5000 support 36 bit addresses for pci express memory access. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit e602cb180e97c46dfb01a4644781ec68ee0cda22 Author: Ester Kummer Date: Fri Sep 26 15:09:33 2008 +0800 iwlwifi: enable power save setting upon config This patch enables power save setting from config (iwconfig power) The sysfs power_level interface is still preserved as it has mac80211 power implementation is not yet rich enough. Signed-off-by: Ester Kummer Reviewed-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 8cd519e89616057c8a433a54a3e60883e4893017 Author: Winkler, Tomas Date: Fri Sep 26 15:09:32 2008 +0800 iwlwifi: refactor rx register initialization The patch adds HW bug W/A FH_RCSR_CHNL0_RX_IGNORE_RXF_EMPTY so that we can enable again interrupt coalescing. It also uses named constants for open code. Signed-off-by: Tomas Winkler Signed-off-by: Zhu Yi Signed-off-by: John W. Linville commit 1f1c0e33a0ab1379272da68fe58abf586c8e96e5 Author: Larry Finger Date: Thu Sep 25 14:54:28 2008 -0500 p54: Fix sparse warnings The command make C=2 CF="-D__CHECK_ENDIAN__" drivers/net/wireless/p54/ generates the following warnings: .../p54common.c:152:38: warning: incorrect type in argument 1 (different base types) .../p54common.c:152:38: expected restricted __be32 const [usertype] *p .../p54common.c:152:38: got unsigned int * .../p54common.c:184:15: warning: restricted __le32 degrades to integer .../p54common.c:185:29: warning: cast to restricted __le16 .../p54common.c:309:11: warning: symbol 'p54_rf_chips' was not declared. Should it be static? .../p54common.c:313:5: warning: symbol 'p54_parse_eeprom' was not declared. Should it be static? .../p54common.c:620:43: warning: incorrect type in argument 3 (different base types) .../p54common.c:620:43: expected unsigned long [unsigned] [usertype] len .../p54common.c:620:43: got restricted __le16 [usertype] len .../p54common.c:780:41: warning: restricted __le16 degrades to integer .../p54common.c:781:32: warning: restricted __le16 degrades to integer .../p54common.c:1250:28: warning: incorrect type in argument 2 (different base types) .../p54common.c:1250:28: expected unsigned short [unsigned] [usertype] filter_type .../p54common.c:1250:28: got restricted __le16 [usertype] filter_type .../p54common.c:1252:28: warning: incorrect type in argument 2 (different base types) .../p54common.c:1252:28: expected unsigned short [unsigned] [usertype] filter_type .../p54common.c:1252:28: got restricted __le16 [usertype] filter_type .../p54common.c:1257:42: warning: incorrect type in argument 2 (different base types) .../p54common.c:1257:42: expected unsigned short [unsigned] [usertype] filter_type .../p54common.c:1257:42: got restricted __le16 .../p54common.c:1260:42: warning: incorrect type in argument 2 (different base types) .../p54common.c:1260:42: expected unsigned short [unsigned] [usertype] filter_type .../p54common.c:1260:42: got restricted __le16 .../p54usb.c:228:10: warning: restricted __le32 degrades to integer .../p54usb.c:228:23: warning: restricted __le32 degrades to integer .../p54usb.c:228:7: warning: incorrect type in assignment (different base types) .../p54usb.c:228:7: expected restricted __le32 [assigned] [usertype] chk .../p54usb.c:228:7: got unsigned int .../p54usb.c:221:8: warning: symbol 'p54u_lm87_chksum' was not declared. Should it be static? All of the above have been fixed. One question, however, remains: In struct bootrec, the array "data" is treated in many places as native CPU order, but it may be little-endian everywhere. As far as I can tell, this driver has only been used with little-endian hardware. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 3bb91bff8165223aa14f015a6c9150a536b40d9b Author: Larry Finger Date: Fri Sep 19 14:47:38 2008 -0500 b43: Fix Bluetooth coexistence SPROM coding error for Motorola 7010 variant of BCM4306 An additional BCM4306 has been found with the Bluetooth coexistence SPROM coding error. Signed-off-by: Larry Finger Signed-off-by: John W. Linville commit 99c6bb390cf599b9e0aa6e69beacc4e5d875bf77 Author: Nicolas Pitre Date: Thu Sep 11 15:14:59 2008 -0400 [ARM] Feroceon: small cleanups to L2 cache code - Make sure that coprocessor instructions for range ops are contiguous and not reordered. - s/invalidate_and_disable_dcache/flush_and_disable_dcache/ - Don't re-enable I/D caches if they were not enabled initially. - Change some masks to shifts for better generated code. Signed-off-by: Nicolas Pitre Acked-by: Lennert Buytenhek commit a7e80ce26caa174b1caa5fdfbb3dbd740a87d33a Author: Hefty, Sean Date: Tue Sep 30 10:36:54 2008 -0700 IB/cm: Correctly free cm_device structure commit 110cf374 ("infiniband: make cm_device use a struct device and not a kobject.") introduced a memory leak, since it deleted cm_release_dev_obj(), which was where cm_dev was freed. Fix this by freeing the leaked structure after calling device_unregister(). Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 943c246e9ba9078a61b6bcc5b4a8131ce8befb64 Author: Roland Dreier Date: Tue Sep 30 10:36:21 2008 -0700 IPoIB: Use netif_tx_lock() and get rid of private tx_lock, LLTX Currently, IPoIB is an LLTX driver that uses its own IRQ-disabling tx_lock. Not only do we want to get rid of LLTX, this actually causes problems because of the skb_orphan() done with this tx_lock held: some skb destructors expect to be run with interrupts enabled. The simplest fix for this is to get rid of the driver-private tx_lock and stop using LLTX. We kill off priv->tx_lock and use netif_tx_lock[_bh]() instead; the patch to do this is a tiny bit tricky because we need to update places that take priv->lock inside the tx_lock to disable IRQs, rather than relying on tx_lock having already disabled IRQs. Also, there are a couple of places where we need to disable BHs to make sure we have a consistent context to call netif_tx_lock() (since we no longer can use _irqsave() variants), and we also have to change ipoib_send_comp_handler() to call drain_tx_cq() through a timer rather than directly, because ipoib_send_comp_handler() runs in interrupt context and drain_tx_cq() must run in BH context so it can call netif_tx_lock(). Signed-off-by: Roland Dreier commit da46c79a5418dd6ba006665c1535af0713bb77b9 Author: Nicolas Pitre Date: Tue Sep 30 16:10:11 2008 +0100 [ARM] 5272/1: remove conditional compilation in show_pte() The PTRS_PER_PMD != 1 condition can be evaluated with C code and optimized at compile time. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit dfcc64497cbbf942cdd5af4b7eb17542b62aa759 Author: Nicolas Pitre Date: Tue Sep 30 16:05:09 2008 +0100 [ARM] 5271/1: get rid of pages_to_mb() There is no use of this in the whole tree. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit 64b9e0294d24a4204232e13e01630b0690e48d61 Author: Amit K. Arora Date: Tue Sep 30 17:15:39 2008 +0530 sched: minor optimizations in wake_affine and select_task_rq_fair This patch does following: o Removes unused variable and argument "rq". o Optimizes one of the "if" conditions in wake_affine() - i.e. if "balanced" is true, we need not do rest of the calculations in the condition. o If this cpu is same as the previous cpu (on which woken up task was running when it went to sleep), no need to call wake_affine at all. Signed-off-by: Amit K Arora Acked-by: Peter Zijlstra Signed-off-by: Ingo Molnar commit 76ebc6a429ec2becc2fa738c85ab9688ea4b9006 Author: Catalin Marinas Date: Mon Sep 29 11:06:09 2008 +0100 [ARM] 5269/1: ARMv7: Use -march=armv7-a as compiler flag The current -march=armv7a is not supported by mainline gcc. Cc: Paul Brook Cc: Wei Zhong Signed-off-by: Catalin Marinas Signed-off-by: Russell King commit 7807c6098a716567fe408775c1c1999467088305 Author: Russell King Date: Tue Sep 30 11:30:24 2008 +0100 [ARM] dma: fix some comments in dma-mapping.h ... to prevent people being mislead. Signed-off-by: Russell King commit 1c50b728c3e734150b8a4a8310ce3e01bc5c70be Author: Mathieu Desnoyers Date: Mon Sep 29 11:06:46 2008 -0400 rcu: add rcu_read_lock_sched() / rcu_read_unlock_sched() Add rcu_read_lock_sched() and rcu_read_unlock_sched() to rcupdate.h to match the recently added write-side call_rcu_sched() and rcu_barrier_sched(). They also m