diff options
49 files changed, 571 insertions, 372 deletions
diff --git a/Documentation/fault-injection/fault-injection.txt b/Documentation/fault-injection/fault-injection.txt index 079305640790..7be15e44d481 100644 --- a/Documentation/fault-injection/fault-injection.txt +++ b/Documentation/fault-injection/fault-injection.txt | |||
| @@ -143,8 +143,8 @@ o provide a way to configure fault attributes | |||
| 143 | failslab, fail_page_alloc, and fail_make_request use this way. | 143 | failslab, fail_page_alloc, and fail_make_request use this way. |
| 144 | Helper functions: | 144 | Helper functions: |
| 145 | 145 | ||
| 146 | init_fault_attr_entries(entries, attr, name); | 146 | init_fault_attr_dentries(entries, attr, name); |
| 147 | void cleanup_fault_attr_entries(entries); | 147 | void cleanup_fault_attr_dentries(entries); |
| 148 | 148 | ||
| 149 | - module parameters | 149 | - module parameters |
| 150 | 150 | ||
diff --git a/arch/microblaze/configs/mmu_defconfig b/arch/microblaze/configs/mmu_defconfig index bb7c374713ad..6fced1fe3bf0 100644 --- a/arch/microblaze/configs/mmu_defconfig +++ b/arch/microblaze/configs/mmu_defconfig | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | # | 1 | # |
| 2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
| 3 | # Linux kernel version: 2.6.31 | 3 | # Linux kernel version: 2.6.33-rc6 |
| 4 | # Thu Sep 24 10:28:50 2009 | 4 | # Wed Feb 3 10:02:59 2010 |
| 5 | # | 5 | # |
| 6 | CONFIG_MICROBLAZE=y | 6 | CONFIG_MICROBLAZE=y |
| 7 | # CONFIG_SWAP is not set | 7 | # CONFIG_SWAP is not set |
| @@ -19,8 +19,12 @@ CONFIG_GENERIC_CLOCKEVENTS=y | |||
| 19 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 19 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
| 20 | CONFIG_GENERIC_GPIO=y | 20 | CONFIG_GENERIC_GPIO=y |
| 21 | CONFIG_GENERIC_CSUM=y | 21 | CONFIG_GENERIC_CSUM=y |
| 22 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 23 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 24 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 22 | # CONFIG_PCI is not set | 25 | # CONFIG_PCI is not set |
| 23 | CONFIG_NO_DMA=y | 26 | CONFIG_NO_DMA=y |
| 27 | CONFIG_DTC=y | ||
| 24 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
| 25 | CONFIG_CONSTRUCTORS=y | 29 | CONFIG_CONSTRUCTORS=y |
| 26 | 30 | ||
| @@ -44,6 +48,7 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
| 44 | # | 48 | # |
| 45 | CONFIG_TREE_RCU=y | 49 | CONFIG_TREE_RCU=y |
| 46 | # CONFIG_TREE_PREEMPT_RCU is not set | 50 | # CONFIG_TREE_PREEMPT_RCU is not set |
| 51 | # CONFIG_TINY_RCU is not set | ||
| 47 | # CONFIG_RCU_TRACE is not set | 52 | # CONFIG_RCU_TRACE is not set |
| 48 | CONFIG_RCU_FANOUT=32 | 53 | CONFIG_RCU_FANOUT=32 |
| 49 | # CONFIG_RCU_FANOUT_EXACT is not set | 54 | # CONFIG_RCU_FANOUT_EXACT is not set |
| @@ -64,10 +69,12 @@ CONFIG_INITRAMFS_ROOT_GID=0 | |||
| 64 | CONFIG_RD_GZIP=y | 69 | CONFIG_RD_GZIP=y |
| 65 | # CONFIG_RD_BZIP2 is not set | 70 | # CONFIG_RD_BZIP2 is not set |
| 66 | # CONFIG_RD_LZMA is not set | 71 | # CONFIG_RD_LZMA is not set |
| 72 | # CONFIG_RD_LZO is not set | ||
| 67 | # CONFIG_INITRAMFS_COMPRESSION_NONE is not set | 73 | # CONFIG_INITRAMFS_COMPRESSION_NONE is not set |
| 68 | CONFIG_INITRAMFS_COMPRESSION_GZIP=y | 74 | CONFIG_INITRAMFS_COMPRESSION_GZIP=y |
| 69 | # CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set | 75 | # CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set |
| 70 | # CONFIG_INITRAMFS_COMPRESSION_LZMA is not set | 76 | # CONFIG_INITRAMFS_COMPRESSION_LZMA is not set |
| 77 | # CONFIG_INITRAMFS_COMPRESSION_LZO is not set | ||
| 71 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 78 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
| 72 | CONFIG_SYSCTL=y | 79 | CONFIG_SYSCTL=y |
| 73 | CONFIG_ANON_INODES=y | 80 | CONFIG_ANON_INODES=y |
| @@ -90,21 +97,20 @@ CONFIG_EVENTFD=y | |||
| 90 | CONFIG_AIO=y | 97 | CONFIG_AIO=y |
| 91 | 98 | ||
| 92 | # | 99 | # |
| 93 | # Performance Counters | 100 | # Kernel Performance Events And Counters |
| 94 | # | 101 | # |
| 95 | CONFIG_VM_EVENT_COUNTERS=y | 102 | CONFIG_VM_EVENT_COUNTERS=y |
| 96 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 97 | CONFIG_COMPAT_BRK=y | 103 | CONFIG_COMPAT_BRK=y |
| 98 | CONFIG_SLAB=y | 104 | CONFIG_SLAB=y |
| 99 | # CONFIG_SLUB is not set | 105 | # CONFIG_SLUB is not set |
| 100 | # CONFIG_SLOB is not set | 106 | # CONFIG_SLOB is not set |
| 101 | # CONFIG_PROFILING is not set | 107 | # CONFIG_PROFILING is not set |
| 102 | # CONFIG_MARKERS is not set | 108 | CONFIG_HAVE_OPROFILE=y |
| 103 | 109 | ||
| 104 | # | 110 | # |
| 105 | # GCOV-based kernel profiling | 111 | # GCOV-based kernel profiling |
| 106 | # | 112 | # |
| 107 | # CONFIG_SLOW_WORK is not set | 113 | CONFIG_SLOW_WORK=y |
| 108 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | 114 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
| 109 | CONFIG_SLABINFO=y | 115 | CONFIG_SLABINFO=y |
| 110 | CONFIG_BASE_SMALL=1 | 116 | CONFIG_BASE_SMALL=1 |
| @@ -123,14 +129,41 @@ CONFIG_LBDAF=y | |||
| 123 | # IO Schedulers | 129 | # IO Schedulers |
| 124 | # | 130 | # |
| 125 | CONFIG_IOSCHED_NOOP=y | 131 | CONFIG_IOSCHED_NOOP=y |
| 126 | CONFIG_IOSCHED_AS=y | ||
| 127 | CONFIG_IOSCHED_DEADLINE=y | 132 | CONFIG_IOSCHED_DEADLINE=y |
| 128 | CONFIG_IOSCHED_CFQ=y | 133 | CONFIG_IOSCHED_CFQ=y |
| 129 | # CONFIG_DEFAULT_AS is not set | ||
| 130 | # CONFIG_DEFAULT_DEADLINE is not set | 134 | # CONFIG_DEFAULT_DEADLINE is not set |
| 131 | CONFIG_DEFAULT_CFQ=y | 135 | CONFIG_DEFAULT_CFQ=y |
| 132 | # CONFIG_DEFAULT_NOOP is not set | 136 | # CONFIG_DEFAULT_NOOP is not set |
| 133 | CONFIG_DEFAULT_IOSCHED="cfq" | 137 | CONFIG_DEFAULT_IOSCHED="cfq" |
| 138 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
| 139 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
| 140 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
| 141 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
| 142 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
| 143 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
| 144 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
| 145 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
| 146 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
| 147 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
| 148 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
| 149 | # CONFIG_INLINE_READ_LOCK is not set | ||
| 150 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
| 151 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
| 152 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
| 153 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
| 154 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
| 155 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
| 156 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
| 157 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
| 158 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
| 159 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
| 160 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
| 161 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
| 162 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
| 163 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
| 164 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
| 165 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
| 166 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
| 134 | # CONFIG_FREEZER is not set | 167 | # CONFIG_FREEZER is not set |
| 135 | 168 | ||
| 136 | # | 169 | # |
| @@ -139,11 +172,6 @@ CONFIG_DEFAULT_IOSCHED="cfq" | |||
| 139 | CONFIG_PLATFORM_GENERIC=y | 172 | CONFIG_PLATFORM_GENERIC=y |
| 140 | CONFIG_OPT_LIB_FUNCTION=y | 173 | CONFIG_OPT_LIB_FUNCTION=y |
| 141 | CONFIG_OPT_LIB_ASM=y | 174 | CONFIG_OPT_LIB_ASM=y |
| 142 | CONFIG_ALLOW_EDIT_AUTO=y | ||
| 143 | |||
| 144 | # | ||
| 145 | # Automatic platform settings from Kconfig.auto | ||
| 146 | # | ||
| 147 | 175 | ||
| 148 | # | 176 | # |
| 149 | # Definitions for MICROBLAZE0 | 177 | # Definitions for MICROBLAZE0 |
| @@ -203,12 +231,11 @@ CONFIG_FLATMEM_MANUAL=y | |||
| 203 | CONFIG_FLATMEM=y | 231 | CONFIG_FLATMEM=y |
| 204 | CONFIG_FLAT_NODE_MEM_MAP=y | 232 | CONFIG_FLAT_NODE_MEM_MAP=y |
| 205 | CONFIG_PAGEFLAGS_EXTENDED=y | 233 | CONFIG_PAGEFLAGS_EXTENDED=y |
| 206 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 234 | CONFIG_SPLIT_PTLOCK_CPUS=999999 |
| 207 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 235 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
| 208 | CONFIG_ZONE_DMA_FLAG=0 | 236 | CONFIG_ZONE_DMA_FLAG=0 |
| 209 | CONFIG_VIRT_TO_BUS=y | 237 | CONFIG_VIRT_TO_BUS=y |
| 210 | CONFIG_HAVE_MLOCK=y | 238 | # CONFIG_KSM is not set |
| 211 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
| 212 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 239 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
| 213 | 240 | ||
| 214 | # | 241 | # |
| @@ -289,7 +316,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 289 | # CONFIG_IRDA is not set | 316 | # CONFIG_IRDA is not set |
| 290 | # CONFIG_BT is not set | 317 | # CONFIG_BT is not set |
| 291 | # CONFIG_AF_RXRPC is not set | 318 | # CONFIG_AF_RXRPC is not set |
| 292 | # CONFIG_WIRELESS is not set | 319 | CONFIG_WIRELESS=y |
| 320 | # CONFIG_CFG80211 is not set | ||
| 321 | # CONFIG_LIB80211 is not set | ||
| 322 | |||
| 323 | # | ||
| 324 | # CFG80211 needs to be enabled for MAC80211 | ||
| 325 | # | ||
| 293 | # CONFIG_WIMAX is not set | 326 | # CONFIG_WIMAX is not set |
| 294 | # CONFIG_RFKILL is not set | 327 | # CONFIG_RFKILL is not set |
| 295 | # CONFIG_NET_9P is not set | 328 | # CONFIG_NET_9P is not set |
| @@ -313,6 +346,10 @@ CONFIG_OF_DEVICE=y | |||
| 313 | CONFIG_BLK_DEV=y | 346 | CONFIG_BLK_DEV=y |
| 314 | # CONFIG_BLK_DEV_COW_COMMON is not set | 347 | # CONFIG_BLK_DEV_COW_COMMON is not set |
| 315 | # CONFIG_BLK_DEV_LOOP is not set | 348 | # CONFIG_BLK_DEV_LOOP is not set |
| 349 | |||
| 350 | # | ||
| 351 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
| 352 | # | ||
| 316 | # CONFIG_BLK_DEV_NBD is not set | 353 | # CONFIG_BLK_DEV_NBD is not set |
| 317 | CONFIG_BLK_DEV_RAM=y | 354 | CONFIG_BLK_DEV_RAM=y |
| 318 | CONFIG_BLK_DEV_RAM_COUNT=16 | 355 | CONFIG_BLK_DEV_RAM_COUNT=16 |
| @@ -349,7 +386,6 @@ CONFIG_NETDEVICES=y | |||
| 349 | # CONFIG_PHYLIB is not set | 386 | # CONFIG_PHYLIB is not set |
| 350 | CONFIG_NET_ETHERNET=y | 387 | CONFIG_NET_ETHERNET=y |
| 351 | # CONFIG_MII is not set | 388 | # CONFIG_MII is not set |
| 352 | # CONFIG_ETHOC is not set | ||
| 353 | # CONFIG_DNET is not set | 389 | # CONFIG_DNET is not set |
| 354 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 390 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
| 355 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 391 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
| @@ -359,12 +395,12 @@ CONFIG_NET_ETHERNET=y | |||
| 359 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 395 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
| 360 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 396 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
| 361 | # CONFIG_KS8842 is not set | 397 | # CONFIG_KS8842 is not set |
| 398 | # CONFIG_KS8851_MLL is not set | ||
| 362 | CONFIG_XILINX_EMACLITE=y | 399 | CONFIG_XILINX_EMACLITE=y |
| 363 | CONFIG_NETDEV_1000=y | 400 | CONFIG_NETDEV_1000=y |
| 364 | CONFIG_NETDEV_10000=y | 401 | CONFIG_NETDEV_10000=y |
| 365 | CONFIG_WLAN=y | 402 | CONFIG_WLAN=y |
| 366 | # CONFIG_WLAN_PRE80211 is not set | 403 | # CONFIG_HOSTAP is not set |
| 367 | # CONFIG_WLAN_80211 is not set | ||
| 368 | 404 | ||
| 369 | # | 405 | # |
| 370 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 406 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
| @@ -408,6 +444,7 @@ CONFIG_SERIAL_UARTLITE=y | |||
| 408 | CONFIG_SERIAL_UARTLITE_CONSOLE=y | 444 | CONFIG_SERIAL_UARTLITE_CONSOLE=y |
| 409 | CONFIG_SERIAL_CORE=y | 445 | CONFIG_SERIAL_CORE=y |
| 410 | CONFIG_SERIAL_CORE_CONSOLE=y | 446 | CONFIG_SERIAL_CORE_CONSOLE=y |
| 447 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | ||
| 411 | CONFIG_UNIX98_PTYS=y | 448 | CONFIG_UNIX98_PTYS=y |
| 412 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 449 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
| 413 | CONFIG_LEGACY_PTYS=y | 450 | CONFIG_LEGACY_PTYS=y |
| @@ -433,7 +470,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | |||
| 433 | # CONFIG_POWER_SUPPLY is not set | 470 | # CONFIG_POWER_SUPPLY is not set |
| 434 | # CONFIG_HWMON is not set | 471 | # CONFIG_HWMON is not set |
| 435 | # CONFIG_THERMAL is not set | 472 | # CONFIG_THERMAL is not set |
| 436 | # CONFIG_THERMAL_HWMON is not set | ||
| 437 | # CONFIG_WATCHDOG is not set | 473 | # CONFIG_WATCHDOG is not set |
| 438 | 474 | ||
| 439 | # | 475 | # |
| @@ -526,8 +562,6 @@ CONFIG_PROC_FS=y | |||
| 526 | CONFIG_PROC_SYSCTL=y | 562 | CONFIG_PROC_SYSCTL=y |
| 527 | CONFIG_PROC_PAGE_MONITOR=y | 563 | CONFIG_PROC_PAGE_MONITOR=y |
| 528 | CONFIG_SYSFS=y | 564 | CONFIG_SYSFS=y |
| 529 | CONFIG_TMPFS=y | ||
| 530 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
| 531 | # CONFIG_HUGETLB_PAGE is not set | 565 | # CONFIG_HUGETLB_PAGE is not set |
| 532 | # CONFIG_CONFIGFS_FS is not set | 566 | # CONFIG_CONFIGFS_FS is not set |
| 533 | CONFIG_MISC_FILESYSTEMS=y | 567 | CONFIG_MISC_FILESYSTEMS=y |
| @@ -638,11 +672,13 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
| 638 | # | 672 | # |
| 639 | # Kernel hacking | 673 | # Kernel hacking |
| 640 | # | 674 | # |
| 675 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 641 | # CONFIG_PRINTK_TIME is not set | 676 | # CONFIG_PRINTK_TIME is not set |
| 642 | CONFIG_ENABLE_WARN_DEPRECATED=y | 677 | CONFIG_ENABLE_WARN_DEPRECATED=y |
| 643 | CONFIG_ENABLE_MUST_CHECK=y | 678 | CONFIG_ENABLE_MUST_CHECK=y |
| 644 | CONFIG_FRAME_WARN=1024 | 679 | CONFIG_FRAME_WARN=1024 |
| 645 | # CONFIG_MAGIC_SYSRQ is not set | 680 | # CONFIG_MAGIC_SYSRQ is not set |
| 681 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 646 | # CONFIG_UNUSED_SYMBOLS is not set | 682 | # CONFIG_UNUSED_SYMBOLS is not set |
| 647 | # CONFIG_DEBUG_FS is not set | 683 | # CONFIG_DEBUG_FS is not set |
| 648 | # CONFIG_HEADERS_CHECK is not set | 684 | # CONFIG_HEADERS_CHECK is not set |
| @@ -662,6 +698,9 @@ CONFIG_DEBUG_SLAB=y | |||
| 662 | # CONFIG_DEBUG_SLAB_LEAK is not set | 698 | # CONFIG_DEBUG_SLAB_LEAK is not set |
| 663 | CONFIG_DEBUG_SPINLOCK=y | 699 | CONFIG_DEBUG_SPINLOCK=y |
| 664 | # CONFIG_DEBUG_MUTEXES is not set | 700 | # CONFIG_DEBUG_MUTEXES is not set |
| 701 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
| 702 | # CONFIG_PROVE_LOCKING is not set | ||
| 703 | # CONFIG_LOCK_STAT is not set | ||
| 665 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 704 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
| 666 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 705 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
| 667 | # CONFIG_DEBUG_KOBJECT is not set | 706 | # CONFIG_DEBUG_KOBJECT is not set |
| @@ -680,10 +719,29 @@ CONFIG_DEBUG_INFO=y | |||
| 680 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 719 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
| 681 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 720 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
| 682 | # CONFIG_FAULT_INJECTION is not set | 721 | # CONFIG_FAULT_INJECTION is not set |
| 722 | # CONFIG_LATENCYTOP is not set | ||
| 683 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | 723 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set |
| 684 | # CONFIG_PAGE_POISONING is not set | 724 | # CONFIG_PAGE_POISONING is not set |
| 725 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
| 726 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
| 727 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | ||
| 728 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
| 729 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | ||
| 730 | CONFIG_TRACING_SUPPORT=y | ||
| 731 | CONFIG_FTRACE=y | ||
| 732 | # CONFIG_FUNCTION_TRACER is not set | ||
| 733 | # CONFIG_IRQSOFF_TRACER is not set | ||
| 734 | # CONFIG_SCHED_TRACER is not set | ||
| 735 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
| 736 | # CONFIG_BOOT_TRACER is not set | ||
| 737 | CONFIG_BRANCH_PROFILE_NONE=y | ||
| 738 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
| 739 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
| 740 | # CONFIG_STACK_TRACER is not set | ||
| 741 | # CONFIG_KMEMTRACE is not set | ||
| 742 | # CONFIG_WORKQUEUE_TRACER is not set | ||
| 743 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 685 | # CONFIG_SAMPLES is not set | 744 | # CONFIG_SAMPLES is not set |
| 686 | # CONFIG_KMEMCHECK is not set | ||
| 687 | CONFIG_EARLY_PRINTK=y | 745 | CONFIG_EARLY_PRINTK=y |
| 688 | # CONFIG_HEART_BEAT is not set | 746 | # CONFIG_HEART_BEAT is not set |
| 689 | CONFIG_DEBUG_BOOTMEM=y | 747 | CONFIG_DEBUG_BOOTMEM=y |
| @@ -694,7 +752,11 @@ CONFIG_DEBUG_BOOTMEM=y | |||
| 694 | # CONFIG_KEYS is not set | 752 | # CONFIG_KEYS is not set |
| 695 | # CONFIG_SECURITY is not set | 753 | # CONFIG_SECURITY is not set |
| 696 | # CONFIG_SECURITYFS is not set | 754 | # CONFIG_SECURITYFS is not set |
| 697 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 755 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
| 756 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
| 757 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
| 758 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
| 759 | CONFIG_DEFAULT_SECURITY="" | ||
| 698 | CONFIG_CRYPTO=y | 760 | CONFIG_CRYPTO=y |
| 699 | 761 | ||
| 700 | # | 762 | # |
diff --git a/arch/microblaze/configs/nommu_defconfig b/arch/microblaze/configs/nommu_defconfig index adb839bab704..ce2da535246a 100644 --- a/arch/microblaze/configs/nommu_defconfig +++ b/arch/microblaze/configs/nommu_defconfig | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | # | 1 | # |
| 2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
| 3 | # Linux kernel version: 2.6.31 | 3 | # Linux kernel version: 2.6.33-rc6 |
| 4 | # Thu Sep 24 10:29:43 2009 | 4 | # Wed Feb 3 10:03:21 2010 |
| 5 | # | 5 | # |
| 6 | CONFIG_MICROBLAZE=y | 6 | CONFIG_MICROBLAZE=y |
| 7 | # CONFIG_SWAP is not set | 7 | # CONFIG_SWAP is not set |
| @@ -19,8 +19,12 @@ CONFIG_GENERIC_CLOCKEVENTS=y | |||
| 19 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 19 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
| 20 | CONFIG_GENERIC_GPIO=y | 20 | CONFIG_GENERIC_GPIO=y |
| 21 | CONFIG_GENERIC_CSUM=y | 21 | CONFIG_GENERIC_CSUM=y |
| 22 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 23 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 24 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 22 | # CONFIG_PCI is not set | 25 | # CONFIG_PCI is not set |
| 23 | CONFIG_NO_DMA=y | 26 | CONFIG_NO_DMA=y |
| 27 | CONFIG_DTC=y | ||
| 24 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 28 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
| 25 | CONFIG_CONSTRUCTORS=y | 29 | CONFIG_CONSTRUCTORS=y |
| 26 | 30 | ||
| @@ -46,6 +50,7 @@ CONFIG_BSD_PROCESS_ACCT_V3=y | |||
| 46 | # | 50 | # |
| 47 | CONFIG_TREE_RCU=y | 51 | CONFIG_TREE_RCU=y |
| 48 | # CONFIG_TREE_PREEMPT_RCU is not set | 52 | # CONFIG_TREE_PREEMPT_RCU is not set |
| 53 | # CONFIG_TINY_RCU is not set | ||
| 49 | # CONFIG_RCU_TRACE is not set | 54 | # CONFIG_RCU_TRACE is not set |
| 50 | CONFIG_RCU_FANOUT=32 | 55 | CONFIG_RCU_FANOUT=32 |
| 51 | # CONFIG_RCU_FANOUT_EXACT is not set | 56 | # CONFIG_RCU_FANOUT_EXACT is not set |
| @@ -81,16 +86,16 @@ CONFIG_EVENTFD=y | |||
| 81 | CONFIG_AIO=y | 86 | CONFIG_AIO=y |
| 82 | 87 | ||
| 83 | # | 88 | # |
| 84 | # Performance Counters | 89 | # Kernel Performance Events And Counters |
| 85 | # | 90 | # |
| 86 | CONFIG_VM_EVENT_COUNTERS=y | 91 | CONFIG_VM_EVENT_COUNTERS=y |
| 87 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 88 | CONFIG_COMPAT_BRK=y | 92 | CONFIG_COMPAT_BRK=y |
| 89 | CONFIG_SLAB=y | 93 | CONFIG_SLAB=y |
| 90 | # CONFIG_SLUB is not set | 94 | # CONFIG_SLUB is not set |
| 91 | # CONFIG_SLOB is not set | 95 | # CONFIG_SLOB is not set |
| 96 | # CONFIG_MMAP_ALLOW_UNINITIALIZED is not set | ||
| 92 | # CONFIG_PROFILING is not set | 97 | # CONFIG_PROFILING is not set |
| 93 | # CONFIG_MARKERS is not set | 98 | CONFIG_HAVE_OPROFILE=y |
| 94 | 99 | ||
| 95 | # | 100 | # |
| 96 | # GCOV-based kernel profiling | 101 | # GCOV-based kernel profiling |
| @@ -116,14 +121,41 @@ CONFIG_LBDAF=y | |||
| 116 | # IO Schedulers | 121 | # IO Schedulers |
| 117 | # | 122 | # |
| 118 | CONFIG_IOSCHED_NOOP=y | 123 | CONFIG_IOSCHED_NOOP=y |
| 119 | CONFIG_IOSCHED_AS=y | ||
| 120 | CONFIG_IOSCHED_DEADLINE=y | 124 | CONFIG_IOSCHED_DEADLINE=y |
| 121 | CONFIG_IOSCHED_CFQ=y | 125 | CONFIG_IOSCHED_CFQ=y |
| 122 | # CONFIG_DEFAULT_AS is not set | ||
| 123 | # CONFIG_DEFAULT_DEADLINE is not set | 126 | # CONFIG_DEFAULT_DEADLINE is not set |
| 124 | CONFIG_DEFAULT_CFQ=y | 127 | CONFIG_DEFAULT_CFQ=y |
| 125 | # CONFIG_DEFAULT_NOOP is not set | 128 | # CONFIG_DEFAULT_NOOP is not set |
| 126 | CONFIG_DEFAULT_IOSCHED="cfq" | 129 | CONFIG_DEFAULT_IOSCHED="cfq" |
| 130 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
| 131 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
| 132 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
| 133 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
| 134 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
| 135 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
| 136 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
| 137 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
| 138 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
| 139 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
| 140 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
| 141 | # CONFIG_INLINE_READ_LOCK is not set | ||
| 142 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
| 143 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
| 144 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
| 145 | CONFIG_INLINE_READ_UNLOCK=y | ||
| 146 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
| 147 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
| 148 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
| 149 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
| 150 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
| 151 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
| 152 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
| 153 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
| 154 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
| 155 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
| 156 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
| 157 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
| 158 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
| 127 | # CONFIG_FREEZER is not set | 159 | # CONFIG_FREEZER is not set |
| 128 | 160 | ||
| 129 | # | 161 | # |
| @@ -132,7 +164,10 @@ CONFIG_DEFAULT_IOSCHED="cfq" | |||
| 132 | CONFIG_PLATFORM_GENERIC=y | 164 | CONFIG_PLATFORM_GENERIC=y |
| 133 | # CONFIG_SELFMOD is not set | 165 | # CONFIG_SELFMOD is not set |
| 134 | # CONFIG_OPT_LIB_FUNCTION is not set | 166 | # CONFIG_OPT_LIB_FUNCTION is not set |
| 135 | # CONFIG_ALLOW_EDIT_AUTO is not set | 167 | |
| 168 | # | ||
| 169 | # Definitions for MICROBLAZE0 | ||
| 170 | # | ||
| 136 | CONFIG_KERNEL_BASE_ADDR=0x90000000 | 171 | CONFIG_KERNEL_BASE_ADDR=0x90000000 |
| 137 | CONFIG_XILINX_MICROBLAZE0_FAMILY="virtex5" | 172 | CONFIG_XILINX_MICROBLAZE0_FAMILY="virtex5" |
| 138 | CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1 | 173 | CONFIG_XILINX_MICROBLAZE0_USE_MSR_INSTR=1 |
| @@ -190,7 +225,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
| 190 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 225 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
| 191 | CONFIG_ZONE_DMA_FLAG=0 | 226 | CONFIG_ZONE_DMA_FLAG=0 |
| 192 | CONFIG_VIRT_TO_BUS=y | 227 | CONFIG_VIRT_TO_BUS=y |
| 193 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
| 194 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 | 228 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 |
| 195 | 229 | ||
| 196 | # | 230 | # |
| @@ -274,9 +308,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
| 274 | # CONFIG_AF_RXRPC is not set | 308 | # CONFIG_AF_RXRPC is not set |
| 275 | CONFIG_WIRELESS=y | 309 | CONFIG_WIRELESS=y |
| 276 | # CONFIG_CFG80211 is not set | 310 | # CONFIG_CFG80211 is not set |
| 277 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
| 278 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
| 279 | # CONFIG_WIRELESS_EXT is not set | ||
| 280 | # CONFIG_LIB80211 is not set | 311 | # CONFIG_LIB80211 is not set |
| 281 | 312 | ||
| 282 | # | 313 | # |
| @@ -301,9 +332,9 @@ CONFIG_STANDALONE=y | |||
| 301 | # CONFIG_CONNECTOR is not set | 332 | # CONFIG_CONNECTOR is not set |
| 302 | CONFIG_MTD=y | 333 | CONFIG_MTD=y |
| 303 | # CONFIG_MTD_DEBUG is not set | 334 | # CONFIG_MTD_DEBUG is not set |
| 335 | # CONFIG_MTD_TESTS is not set | ||
| 304 | CONFIG_MTD_CONCAT=y | 336 | CONFIG_MTD_CONCAT=y |
| 305 | CONFIG_MTD_PARTITIONS=y | 337 | CONFIG_MTD_PARTITIONS=y |
| 306 | # CONFIG_MTD_TESTS is not set | ||
| 307 | # CONFIG_MTD_REDBOOT_PARTS is not set | 338 | # CONFIG_MTD_REDBOOT_PARTS is not set |
| 308 | CONFIG_MTD_CMDLINE_PARTS=y | 339 | CONFIG_MTD_CMDLINE_PARTS=y |
| 309 | # CONFIG_MTD_OF_PARTS is not set | 340 | # CONFIG_MTD_OF_PARTS is not set |
| @@ -387,6 +418,10 @@ CONFIG_OF_DEVICE=y | |||
| 387 | CONFIG_BLK_DEV=y | 418 | CONFIG_BLK_DEV=y |
| 388 | # CONFIG_BLK_DEV_COW_COMMON is not set | 419 | # CONFIG_BLK_DEV_COW_COMMON is not set |
| 389 | # CONFIG_BLK_DEV_LOOP is not set | 420 | # CONFIG_BLK_DEV_LOOP is not set |
| 421 | |||
| 422 | # | ||
| 423 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
| 424 | # | ||
| 390 | CONFIG_BLK_DEV_NBD=y | 425 | CONFIG_BLK_DEV_NBD=y |
| 391 | CONFIG_BLK_DEV_RAM=y | 426 | CONFIG_BLK_DEV_RAM=y |
| 392 | CONFIG_BLK_DEV_RAM_COUNT=16 | 427 | CONFIG_BLK_DEV_RAM_COUNT=16 |
| @@ -423,7 +458,6 @@ CONFIG_NETDEVICES=y | |||
| 423 | # CONFIG_PHYLIB is not set | 458 | # CONFIG_PHYLIB is not set |
| 424 | CONFIG_NET_ETHERNET=y | 459 | CONFIG_NET_ETHERNET=y |
| 425 | # CONFIG_MII is not set | 460 | # CONFIG_MII is not set |
| 426 | # CONFIG_ETHOC is not set | ||
| 427 | # CONFIG_DNET is not set | 461 | # CONFIG_DNET is not set |
| 428 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | 462 | # CONFIG_IBM_NEW_EMAC_ZMII is not set |
| 429 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 463 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
| @@ -433,12 +467,12 @@ CONFIG_NET_ETHERNET=y | |||
| 433 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | 467 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set |
| 434 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 468 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
| 435 | # CONFIG_KS8842 is not set | 469 | # CONFIG_KS8842 is not set |
| 470 | # CONFIG_KS8851_MLL is not set | ||
| 436 | # CONFIG_XILINX_EMACLITE is not set | 471 | # CONFIG_XILINX_EMACLITE is not set |
| 437 | CONFIG_NETDEV_1000=y | 472 | CONFIG_NETDEV_1000=y |
| 438 | CONFIG_NETDEV_10000=y | 473 | CONFIG_NETDEV_10000=y |
| 439 | CONFIG_WLAN=y | 474 | CONFIG_WLAN=y |
| 440 | # CONFIG_WLAN_PRE80211 is not set | 475 | # CONFIG_HOSTAP is not set |
| 441 | # CONFIG_WLAN_80211 is not set | ||
| 442 | 476 | ||
| 443 | # | 477 | # |
| 444 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 478 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
| @@ -482,6 +516,7 @@ CONFIG_SERIAL_UARTLITE=y | |||
| 482 | CONFIG_SERIAL_UARTLITE_CONSOLE=y | 516 | CONFIG_SERIAL_UARTLITE_CONSOLE=y |
| 483 | CONFIG_SERIAL_CORE=y | 517 | CONFIG_SERIAL_CORE=y |
| 484 | CONFIG_SERIAL_CORE_CONSOLE=y | 518 | CONFIG_SERIAL_CORE_CONSOLE=y |
| 519 | # CONFIG_SERIAL_GRLIB_GAISLER_APBUART is not set | ||
| 485 | CONFIG_UNIX98_PTYS=y | 520 | CONFIG_UNIX98_PTYS=y |
| 486 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | 521 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set |
| 487 | CONFIG_LEGACY_PTYS=y | 522 | CONFIG_LEGACY_PTYS=y |
| @@ -508,7 +543,6 @@ CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | |||
| 508 | # CONFIG_POWER_SUPPLY is not set | 543 | # CONFIG_POWER_SUPPLY is not set |
| 509 | # CONFIG_HWMON is not set | 544 | # CONFIG_HWMON is not set |
| 510 | # CONFIG_THERMAL is not set | 545 | # CONFIG_THERMAL is not set |
| 511 | # CONFIG_THERMAL_HWMON is not set | ||
| 512 | # CONFIG_WATCHDOG is not set | 546 | # CONFIG_WATCHDOG is not set |
| 513 | 547 | ||
| 514 | # | 548 | # |
| @@ -616,7 +650,6 @@ CONFIG_INOTIFY_USER=y | |||
| 616 | CONFIG_PROC_FS=y | 650 | CONFIG_PROC_FS=y |
| 617 | CONFIG_PROC_SYSCTL=y | 651 | CONFIG_PROC_SYSCTL=y |
| 618 | CONFIG_SYSFS=y | 652 | CONFIG_SYSFS=y |
| 619 | # CONFIG_TMPFS is not set | ||
| 620 | # CONFIG_HUGETLB_PAGE is not set | 653 | # CONFIG_HUGETLB_PAGE is not set |
| 621 | # CONFIG_CONFIGFS_FS is not set | 654 | # CONFIG_CONFIGFS_FS is not set |
| 622 | CONFIG_MISC_FILESYSTEMS=y | 655 | CONFIG_MISC_FILESYSTEMS=y |
| @@ -672,11 +705,13 @@ CONFIG_MSDOS_PARTITION=y | |||
| 672 | # | 705 | # |
| 673 | # Kernel hacking | 706 | # Kernel hacking |
| 674 | # | 707 | # |
| 708 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 675 | # CONFIG_PRINTK_TIME is not set | 709 | # CONFIG_PRINTK_TIME is not set |
| 676 | CONFIG_ENABLE_WARN_DEPRECATED=y | 710 | CONFIG_ENABLE_WARN_DEPRECATED=y |
| 677 | CONFIG_ENABLE_MUST_CHECK=y | 711 | CONFIG_ENABLE_MUST_CHECK=y |
| 678 | CONFIG_FRAME_WARN=1024 | 712 | CONFIG_FRAME_WARN=1024 |
| 679 | # CONFIG_MAGIC_SYSRQ is not set | 713 | # CONFIG_MAGIC_SYSRQ is not set |
| 714 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 680 | CONFIG_UNUSED_SYMBOLS=y | 715 | CONFIG_UNUSED_SYMBOLS=y |
| 681 | CONFIG_DEBUG_FS=y | 716 | CONFIG_DEBUG_FS=y |
| 682 | # CONFIG_HEADERS_CHECK is not set | 717 | # CONFIG_HEADERS_CHECK is not set |
| @@ -695,12 +730,16 @@ CONFIG_DEBUG_OBJECTS=y | |||
| 695 | CONFIG_DEBUG_OBJECTS_SELFTEST=y | 730 | CONFIG_DEBUG_OBJECTS_SELFTEST=y |
| 696 | CONFIG_DEBUG_OBJECTS_FREE=y | 731 | CONFIG_DEBUG_OBJECTS_FREE=y |
| 697 | CONFIG_DEBUG_OBJECTS_TIMERS=y | 732 | CONFIG_DEBUG_OBJECTS_TIMERS=y |
| 733 | # CONFIG_DEBUG_OBJECTS_WORK is not set | ||
| 698 | CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 | 734 | CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 |
| 699 | # CONFIG_DEBUG_SLAB is not set | 735 | # CONFIG_DEBUG_SLAB is not set |
| 700 | # CONFIG_DEBUG_RT_MUTEXES is not set | 736 | # CONFIG_DEBUG_RT_MUTEXES is not set |
| 701 | # CONFIG_RT_MUTEX_TESTER is not set | 737 | # CONFIG_RT_MUTEX_TESTER is not set |
| 702 | # CONFIG_DEBUG_SPINLOCK is not set | 738 | # CONFIG_DEBUG_SPINLOCK is not set |
| 703 | # CONFIG_DEBUG_MUTEXES is not set | 739 | # CONFIG_DEBUG_MUTEXES is not set |
| 740 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
| 741 | # CONFIG_PROVE_LOCKING is not set | ||
| 742 | # CONFIG_LOCK_STAT is not set | ||
| 704 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 743 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
| 705 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | 744 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set |
| 706 | # CONFIG_DEBUG_KOBJECT is not set | 745 | # CONFIG_DEBUG_KOBJECT is not set |
| @@ -720,8 +759,28 @@ CONFIG_DEBUG_SG=y | |||
| 720 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 759 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
| 721 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 760 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
| 722 | # CONFIG_FAULT_INJECTION is not set | 761 | # CONFIG_FAULT_INJECTION is not set |
| 762 | # CONFIG_LATENCYTOP is not set | ||
| 723 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 763 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
| 724 | # CONFIG_PAGE_POISONING is not set | 764 | # CONFIG_PAGE_POISONING is not set |
| 765 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
| 766 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
| 767 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | ||
| 768 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
| 769 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | ||
| 770 | CONFIG_TRACING_SUPPORT=y | ||
| 771 | CONFIG_FTRACE=y | ||
| 772 | # CONFIG_FUNCTION_TRACER is not set | ||
| 773 | # CONFIG_IRQSOFF_TRACER is not set | ||
| 774 | # CONFIG_SCHED_TRACER is not set | ||
| 775 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | ||
| 776 | # CONFIG_BOOT_TRACER is not set | ||
| 777 | CONFIG_BRANCH_PROFILE_NONE=y | ||
| 778 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
| 779 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
| 780 | # CONFIG_STACK_TRACER is not set | ||
| 781 | # CONFIG_KMEMTRACE is not set | ||
| 782 | # CONFIG_WORKQUEUE_TRACER is not set | ||
| 783 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 725 | # CONFIG_DYNAMIC_DEBUG is not set | 784 | # CONFIG_DYNAMIC_DEBUG is not set |
| 726 | # CONFIG_SAMPLES is not set | 785 | # CONFIG_SAMPLES is not set |
| 727 | CONFIG_EARLY_PRINTK=y | 786 | CONFIG_EARLY_PRINTK=y |
| @@ -734,7 +793,11 @@ CONFIG_EARLY_PRINTK=y | |||
| 734 | # CONFIG_KEYS is not set | 793 | # CONFIG_KEYS is not set |
| 735 | # CONFIG_SECURITY is not set | 794 | # CONFIG_SECURITY is not set |
| 736 | # CONFIG_SECURITYFS is not set | 795 | # CONFIG_SECURITYFS is not set |
| 737 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 796 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
| 797 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
| 798 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
| 799 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
| 800 | CONFIG_DEFAULT_SECURITY="" | ||
| 738 | CONFIG_CRYPTO=y | 801 | CONFIG_CRYPTO=y |
| 739 | 802 | ||
| 740 | # | 803 | # |
diff --git a/arch/microblaze/kernel/entry-nommu.S b/arch/microblaze/kernel/entry-nommu.S index 95b0855802df..391d6197fc3b 100644 --- a/arch/microblaze/kernel/entry-nommu.S +++ b/arch/microblaze/kernel/entry-nommu.S | |||
| @@ -122,7 +122,7 @@ ENTRY(_interrupt) | |||
| 122 | 122 | ||
| 123 | ret_from_intr: | 123 | ret_from_intr: |
| 124 | lwi r11, r1, PT_MODE | 124 | lwi r11, r1, PT_MODE |
| 125 | bneid r11, 3f | 125 | bneid r11, no_intr_resched |
| 126 | 126 | ||
| 127 | lwi r6, r31, TS_THREAD_INFO /* get thread info */ | 127 | lwi r6, r31, TS_THREAD_INFO /* get thread info */ |
| 128 | lwi r19, r6, TI_FLAGS /* get flags in thread info */ | 128 | lwi r19, r6, TI_FLAGS /* get flags in thread info */ |
| @@ -133,16 +133,18 @@ ret_from_intr: | |||
| 133 | bralid r15, schedule | 133 | bralid r15, schedule |
| 134 | nop | 134 | nop |
| 135 | 1: andi r11, r19, _TIF_SIGPENDING | 135 | 1: andi r11, r19, _TIF_SIGPENDING |
| 136 | beqid r11, no_intr_reshed | 136 | beqid r11, no_intr_resched |
| 137 | addk r5, r1, r0 | 137 | addk r5, r1, r0 |
| 138 | addk r7, r0, r0 | 138 | addk r7, r0, r0 |
| 139 | bralid r15, do_signal | 139 | bralid r15, do_signal |
| 140 | addk r6, r0, r0 | 140 | addk r6, r0, r0 |
| 141 | 141 | ||
| 142 | no_intr_reshed: | 142 | no_intr_resched: |
| 143 | /* Disable interrupts, we are now committed to the state restore */ | ||
| 144 | disable_irq | ||
| 145 | |||
| 143 | /* save mode indicator */ | 146 | /* save mode indicator */ |
| 144 | lwi r11, r1, PT_MODE | 147 | lwi r11, r1, PT_MODE |
| 145 | 3: | ||
| 146 | swi r11, r0, PER_CPU(KM) | 148 | swi r11, r0, PER_CPU(KM) |
| 147 | 149 | ||
| 148 | /* save r31 */ | 150 | /* save r31 */ |
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index 5198b9bb34ef..69ddfbd91135 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c | |||
| @@ -49,6 +49,7 @@ | |||
| 49 | #include <asm/numa.h> | 49 | #include <asm/numa.h> |
| 50 | #include <asm/cacheflush.h> | 50 | #include <asm/cacheflush.h> |
| 51 | #include <asm/init.h> | 51 | #include <asm/init.h> |
| 52 | #include <linux/bootmem.h> | ||
| 52 | 53 | ||
| 53 | static unsigned long dma_reserve __initdata; | 54 | static unsigned long dma_reserve __initdata; |
| 54 | 55 | ||
| @@ -616,6 +617,21 @@ void __init paging_init(void) | |||
| 616 | */ | 617 | */ |
| 617 | #ifdef CONFIG_MEMORY_HOTPLUG | 618 | #ifdef CONFIG_MEMORY_HOTPLUG |
| 618 | /* | 619 | /* |
| 620 | * After memory hotplug the variables max_pfn, max_low_pfn and high_memory need | ||
| 621 | * updating. | ||
| 622 | */ | ||
| 623 | static void update_end_of_memory_vars(u64 start, u64 size) | ||
| 624 | { | ||
| 625 | unsigned long end_pfn = PFN_UP(start + size); | ||
| 626 | |||
| 627 | if (end_pfn > max_pfn) { | ||
| 628 | max_pfn = end_pfn; | ||
| 629 | max_low_pfn = end_pfn; | ||
| 630 | high_memory = (void *)__va(max_pfn * PAGE_SIZE - 1) + 1; | ||
| 631 | } | ||
| 632 | } | ||
| 633 | |||
| 634 | /* | ||
| 619 | * Memory is added always to NORMAL zone. This means you will never get | 635 | * Memory is added always to NORMAL zone. This means you will never get |
| 620 | * additional DMA/DMA32 memory. | 636 | * additional DMA/DMA32 memory. |
| 621 | */ | 637 | */ |
| @@ -634,6 +650,9 @@ int arch_add_memory(int nid, u64 start, u64 size) | |||
| 634 | ret = __add_pages(nid, zone, start_pfn, nr_pages); | 650 | ret = __add_pages(nid, zone, start_pfn, nr_pages); |
| 635 | WARN_ON_ONCE(ret); | 651 | WARN_ON_ONCE(ret); |
| 636 | 652 | ||
| 653 | /* update max_pfn, max_low_pfn and high_memory */ | ||
| 654 | update_end_of_memory_vars(start, size); | ||
| 655 | |||
| 637 | return ret; | 656 | return ret; |
| 638 | } | 657 | } |
| 639 | EXPORT_SYMBOL_GPL(arch_add_memory); | 658 | EXPORT_SYMBOL_GPL(arch_add_memory); |
diff --git a/drivers/block/pktcdvd.c b/drivers/block/pktcdvd.c index 2ddf03ae034e..68b5957f107c 100644 --- a/drivers/block/pktcdvd.c +++ b/drivers/block/pktcdvd.c | |||
| @@ -322,7 +322,7 @@ static void pkt_sysfs_dev_remove(struct pktcdvd_device *pd) | |||
| 322 | pkt_kobj_remove(pd->kobj_stat); | 322 | pkt_kobj_remove(pd->kobj_stat); |
| 323 | pkt_kobj_remove(pd->kobj_wqueue); | 323 | pkt_kobj_remove(pd->kobj_wqueue); |
| 324 | if (class_pktcdvd) | 324 | if (class_pktcdvd) |
| 325 | device_destroy(class_pktcdvd, pd->pkt_dev); | 325 | device_unregister(pd->dev); |
| 326 | } | 326 | } |
| 327 | 327 | ||
| 328 | 328 | ||
diff --git a/drivers/bluetooth/Kconfig b/drivers/bluetooth/Kconfig index 652367aa6546..058fbccf2f52 100644 --- a/drivers/bluetooth/Kconfig +++ b/drivers/bluetooth/Kconfig | |||
| @@ -195,5 +195,16 @@ config BT_MRVL_SDIO | |||
| 195 | Say Y here to compile support for Marvell BT-over-SDIO driver | 195 | Say Y here to compile support for Marvell BT-over-SDIO driver |
| 196 | into the kernel or say M to compile it as module. | 196 | into the kernel or say M to compile it as module. |
| 197 | 197 | ||
| 198 | endmenu | 198 | config BT_ATH3K |
| 199 | tristate "Atheros firmware download driver" | ||
| 200 | depends on BT_HCIBTUSB | ||
| 201 | select FW_LOADER | ||
| 202 | help | ||
| 203 | Bluetooth firmware download driver. | ||
| 204 | This driver loads the firmware into the Atheros Bluetooth | ||
| 205 | chipset. | ||
| 199 | 206 | ||
| 207 | Say Y here to compile support for "Atheros firmware download driver" | ||
| 208 | into the kernel or say M to compile it as module (ath3k). | ||
| 209 | |||
| 210 | endmenu | ||
diff --git a/drivers/bluetooth/Makefile b/drivers/bluetooth/Makefile index b3f57d2d4eb0..7e5aed598121 100644 --- a/drivers/bluetooth/Makefile +++ b/drivers/bluetooth/Makefile | |||
| @@ -15,6 +15,7 @@ obj-$(CONFIG_BT_HCIBTUART) += btuart_cs.o | |||
| 15 | obj-$(CONFIG_BT_HCIBTUSB) += btusb.o | 15 | obj-$(CONFIG_BT_HCIBTUSB) += btusb.o |
| 16 | obj-$(CONFIG_BT_HCIBTSDIO) += btsdio.o | 16 | obj-$(CONFIG_BT_HCIBTSDIO) += btsdio.o |
| 17 | 17 | ||
| 18 | obj-$(CONFIG_BT_ATH3K) += ath3k.o | ||
| 18 | obj-$(CONFIG_BT_MRVL) += btmrvl.o | 19 | obj-$(CONFIG_BT_MRVL) += btmrvl.o |
| 19 | obj-$(CONFIG_BT_MRVL_SDIO) += btmrvl_sdio.o | 20 | obj-$(CONFIG_BT_MRVL_SDIO) += btmrvl_sdio.o |
| 20 | 21 | ||
diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c new file mode 100644 index 000000000000..add9485ca5b6 --- /dev/null +++ b/drivers/bluetooth/ath3k.c | |||
| @@ -0,0 +1,187 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (c) 2008-2009 Atheros Communications Inc. | ||
| 3 | * | ||
| 4 | * This program is free software; you can redistribute it and/or modify | ||
| 5 | * it under the terms of the GNU General Public License as published by | ||
| 6 | * the Free Software Foundation; either version 2 of the License, or | ||
| 7 | * (at your option) any later version. | ||
| 8 | * | ||
| 9 | * This program is distributed in the hope that it will be useful, | ||
| 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 12 | * GNU General Public License for more details. | ||
| 13 | * | ||
| 14 | * You should have received a copy of the GNU General Public License | ||
| 15 | * along with this program; if not, write to the Free Software | ||
| 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
| 17 | * | ||
| 18 | */ | ||
| 19 | |||
| 20 | |||
| 21 | #include <linux/module.h> | ||
| 22 | #include <linux/kernel.h> | ||
| 23 | #include <linux/init.h> | ||
| 24 | #include <linux/slab.h> | ||
| 25 | #include <linux/types.h> | ||
| 26 | #include <linux/errno.h> | ||
| 27 | #include <linux/device.h> | ||
| 28 | #include <linux/firmware.h> | ||
| 29 | #include <linux/usb.h> | ||
| 30 | #include <net/bluetooth/bluetooth.h> | ||
| 31 | |||
| 32 | #define VERSION "1.0" | ||
| 33 | |||
| 34 | |||
| 35 | static struct usb_device_id ath3k_table[] = { | ||
| 36 | /* Atheros AR3011 */ | ||
| 37 | { USB_DEVICE(0x0CF3, 0x3000) }, | ||
| 38 | { } /* Terminating entry */ | ||
| 39 | }; | ||
| 40 | |||
| 41 | MODULE_DEVICE_TABLE(usb, ath3k_table); | ||
| 42 | |||
| 43 | #define USB_REQ_DFU_DNLOAD 1 | ||
| 44 | #define BULK_SIZE 4096 | ||
| 45 | |||
| 46 | struct ath3k_data { | ||
| 47 | struct usb_device *udev; | ||
| 48 | u8 *fw_data; | ||
| 49 | u32 fw_size; | ||
| 50 | u32 fw_sent; | ||
| 51 | }; | ||
| 52 | |||
| 53 | static int ath3k_load_firmware(struct ath3k_data *data, | ||
| 54 | unsigned char *firmware, | ||
| 55 | int count) | ||
| 56 | { | ||
| 57 | u8 *send_buf; | ||
| 58 | int err, pipe, len, size, sent = 0; | ||
| 59 | |||
| 60 | BT_DBG("ath3k %p udev %p", data, data->udev); | ||
| 61 | |||
| 62 | pipe = usb_sndctrlpipe(data->udev, 0); | ||
| 63 | |||
| 64 | if ((usb_control_msg(data->udev, pipe, | ||
| 65 | USB_REQ_DFU_DNLOAD, | ||
| 66 | USB_TYPE_VENDOR, 0, 0, | ||
| 67 | firmware, 20, USB_CTRL_SET_TIMEOUT)) < 0) { | ||
| 68 | BT_ERR("Can't change to loading configuration err"); | ||
| 69 | return -EBUSY; | ||
| 70 | } | ||
| 71 | sent += 20; | ||
| 72 | count -= 20; | ||
| 73 | |||
| 74 | send_buf = kmalloc(BULK_SIZE, GFP_ATOMIC); | ||
| 75 | if (!send_buf) { | ||
| 76 | BT_ERR("Can't allocate memory chunk for firmware"); | ||
| 77 | return -ENOMEM; | ||
| 78 | } | ||
| 79 | |||
| 80 | while (count) { | ||
| 81 | size = min_t(uint, count, BULK_SIZE); | ||
| 82 | pipe = usb_sndbulkpipe(data->udev, 0x02); | ||
| 83 | memcpy(send_buf, firmware + sent, size); | ||
| 84 | |||
| 85 | err = usb_bulk_msg(data->udev, pipe, send_buf, size, | ||
| 86 | &len, 3000); | ||
| 87 | |||
| 88 | if (err || (len != size)) { | ||
| 89 | BT_ERR("Error in firmware loading err = %d," | ||
| 90 | "len = %d, size = %d", err, len, size); | ||
| 91 | goto error; | ||
| 92 | } | ||
| 93 | |||
| 94 | sent += size; | ||
| 95 | count -= size; | ||
| 96 | } | ||
| 97 | |||
| 98 | kfree(send_buf); | ||
| 99 | return 0; | ||
| 100 | |||
| 101 | error: | ||
| 102 | kfree(send_buf); | ||
| 103 | return err; | ||
| 104 | } | ||
| 105 | |||
| 106 | static int ath3k_probe(struct usb_interface *intf, | ||
| 107 | const struct usb_device_id *id) | ||
| 108 | { | ||
| 109 | const struct firmware *firmware; | ||
| 110 | struct usb_device *udev = interface_to_usbdev(intf); | ||
| 111 | struct ath3k_data *data; | ||
| 112 | int size; | ||
| 113 | |||
| 114 | BT_DBG("intf %p id %p", intf, id); | ||
| 115 | |||
| 116 | if (intf->cur_altsetting->desc.bInterfaceNumber != 0) | ||
| 117 | return -ENODEV; | ||
| 118 | |||
| 119 | data = kzalloc(sizeof(*data), GFP_KERNEL); | ||
| 120 | if (!data) | ||
| 121 | return -ENOMEM; | ||
| 122 | |||
| 123 | data->udev = udev; | ||
| 124 | |||
| 125 | if (request_firmware(&firmware, "ath3k-1.fw", &udev->dev) < 0) { | ||
| 126 | kfree(data); | ||
| 127 | return -EIO; | ||
| 128 | } | ||
| 129 | |||
| 130 | size = max_t(uint, firmware->size, 4096); | ||
| 131 | data->fw_data = kmalloc(size, GFP_KERNEL); | ||
| 132 | if (!data->fw_data) { | ||
| 133 | release_firmware(firmware); | ||
| 134 | kfree(data); | ||
| 135 | return -ENOMEM; | ||
| 136 | } | ||
| 137 | |||
| 138 | memcpy(data->fw_data, firmware->data, firmware->size); | ||
| 139 | data->fw_size = firmware->size; | ||
| 140 | data->fw_sent = 0; | ||
| 141 | release_firmware(firmware); | ||
| 142 | |||
| 143 | usb_set_intfdata(intf, data); | ||
| 144 | if (ath3k_load_firmware(data, data->fw_data, data->fw_size)) { | ||
| 145 | usb_set_intfdata(intf, NULL); | ||
| 146 | return -EIO; | ||
| 147 | } | ||
| 148 | |||
| 149 | return 0; | ||
| 150 | } | ||
| 151 | |||
| 152 | static void ath3k_disconnect(struct usb_interface *intf) | ||
| 153 | { | ||
| 154 | struct ath3k_data *data = usb_get_intfdata(intf); | ||
| 155 | |||
| 156 | BT_DBG("ath3k_disconnect intf %p", intf); | ||
| 157 | |||
| 158 | kfree(data->fw_data); | ||
| 159 | kfree(data); | ||
| 160 | } | ||
| 161 | |||
| 162 | static struct usb_driver ath3k_driver = { | ||
| 163 | .name = "ath3k", | ||
| 164 | .probe = ath3k_probe, | ||
| 165 | .disconnect = ath3k_disconnect, | ||
| 166 | .id_table = ath3k_table, | ||
| 167 | }; | ||
| 168 | |||
| 169 | static int __init ath3k_init(void) | ||
| 170 | { | ||
| 171 | BT_INFO("Atheros AR30xx firmware driver ver %s", VERSION); | ||
| 172 | return usb_register(&ath3k_driver); | ||
| 173 | } | ||
| 174 | |||
| 175 | static void __exit ath3k_exit(void) | ||
| 176 | { | ||
| 177 | usb_deregister(&ath3k_driver); | ||
| 178 | } | ||
| 179 | |||
| 180 | module_init(ath3k_init); | ||
| 181 | module_exit(ath3k_exit); | ||
| 182 | |||
| 183 | MODULE_AUTHOR("Atheros Communications"); | ||
| 184 | MODULE_DESCRIPTION("Atheros AR30xx firmware driver"); | ||
| 185 | MODULE_VERSION(VERSION); | ||
| 186 | MODULE_LICENSE("GPL"); | ||
| 187 | MODULE_FIRMWARE("ath3k-1.fw"); | ||
diff --git a/drivers/bluetooth/bluecard_cs.c b/drivers/bluetooth/bluecard_cs.c index 2acdc605cb4b..c2cf81144715 100644 --- a/drivers/bluetooth/bluecard_cs.c +++ b/drivers/bluetooth/bluecard_cs.c | |||
| @@ -503,7 +503,9 @@ static irqreturn_t bluecard_interrupt(int irq, void *dev_inst) | |||
| 503 | unsigned int iobase; | 503 | unsigned int iobase; |
| 504 | unsigned char reg; | 504 | unsigned char reg; |
| 505 | 505 | ||
| 506 | BUG_ON(!info->hdev); | 506 | if (!info || !info->hdev) |
| 507 | /* our irq handler is shared */ | ||
| 508 | return IRQ_NONE; | ||
| 507 | 509 | ||
| 508 | if (!test_bit(CARD_READY, &(info->hw_state))) | 510 | if (!test_bit(CARD_READY, &(info->hw_state))) |
| 509 | return IRQ_HANDLED; | 511 | return IRQ_HANDLED; |
diff --git a/drivers/bluetooth/bt3c_cs.c b/drivers/bluetooth/bt3c_cs.c index d814a2755ccb..9f5926aaf57f 100644 --- a/drivers/bluetooth/bt3c_cs.c +++ b/drivers/bluetooth/bt3c_cs.c | |||
| @@ -345,7 +345,9 @@ static irqreturn_t bt3c_interrupt(int irq, void *dev_inst) | |||
| 345 | int iir; | 345 | int iir; |
| 346 | irqreturn_t r = IRQ_NONE; | 346 | irqreturn_t r = IRQ_NONE; |
| 347 | 347 | ||
| 348 | BUG_ON(!info->hdev); | 348 | if (!info || !info->hdev) |
| 349 | /* our irq handler is shared */ | ||
| 350 | return IRQ_NONE; | ||
| 349 | 351 | ||
| 350 | iobase = info->p_dev->io.BasePort1; | 352 | iobase = info->p_dev->io.BasePort1; |
| 351 | 353 | ||
diff --git a/drivers/bluetooth/btuart_cs.c b/drivers/bluetooth/btuart_cs.c index d339464dc15e..91c523099804 100644 --- a/drivers/bluetooth/btuart_cs.c +++ b/drivers/bluetooth/btuart_cs.c | |||
| @@ -295,7 +295,9 @@ static irqreturn_t btuart_interrupt(int irq, void *dev_inst) | |||
| 295 | int iir, lsr; | 295 | int iir, lsr; |
| 296 | irqreturn_t r = IRQ_NONE; | 296 | irqreturn_t r = IRQ_NONE; |
| 297 | 297 | ||
| 298 | BUG_ON(!info->hdev); | 298 | if (!info || !info->hdev) |
| 299 | /* our irq handler is shared */ | ||
| 300 | return IRQ_NONE; | ||
| 299 | 301 | ||
| 300 | iobase = info->p_dev->io.BasePort1; | 302 | iobase = info->p_dev->io.BasePort1; |
| 301 | 303 | ||
diff --git a/drivers/bluetooth/dtl1_cs.c b/drivers/bluetooth/dtl1_cs.c index 4f02a6f3c980..697591941e17 100644 --- a/drivers/bluetooth/dtl1_cs.c +++ b/drivers/bluetooth/dtl1_cs.c | |||
| @@ -299,7 +299,9 @@ static irqreturn_t dtl1_interrupt(int irq, void *dev_inst) | |||
| 299 | int iir, lsr; | 299 | int iir, lsr; |
| 300 | irqreturn_t r = IRQ_NONE; | 300 | irqreturn_t r = IRQ_NONE; |
| 301 | 301 | ||
| 302 | BUG_ON(!info->hdev); | 302 | if (!info || !info->hdev) |
| 303 | /* our irq handler is shared */ | ||
| 304 | return IRQ_NONE; | ||
| 303 | 305 | ||
| 304 | iobase = info->p_dev->io.BasePort1; | 306 | iobase = info->p_dev->io.BasePort1; |
| 305 | 307 | ||
diff --git a/drivers/char/mem.c b/drivers/char/mem.c index be832b6f8279..48788db4e280 100644 --- a/drivers/char/mem.c +++ b/drivers/char/mem.c | |||
| @@ -395,6 +395,7 @@ static ssize_t read_kmem(struct file *file, char __user *buf, | |||
| 395 | unsigned long p = *ppos; | 395 | unsigned long p = *ppos; |
| 396 | ssize_t low_count, read, sz; | 396 | ssize_t low_count, read, sz; |
| 397 | char * kbuf; /* k-addr because vread() takes vmlist_lock rwlock */ | 397 | char * kbuf; /* k-addr because vread() takes vmlist_lock rwlock */ |
| 398 | int err = 0; | ||
| 398 | 399 | ||
| 399 | read = 0; | 400 | read = 0; |
| 400 | if (p < (unsigned long) high_memory) { | 401 | if (p < (unsigned long) high_memory) { |
| @@ -441,12 +442,16 @@ static ssize_t read_kmem(struct file *file, char __user *buf, | |||
| 441 | return -ENOMEM; | 442 | return -ENOMEM; |
| 442 | while (count > 0) { | 443 | while (count > 0) { |
| 443 | sz = size_inside_page(p, count); | 444 | sz = size_inside_page(p, count); |
| 445 | if (!is_vmalloc_or_module_addr((void *)p)) { | ||
| 446 | err = -ENXIO; | ||
| 447 | break; | ||
| 448 | } | ||
| 444 | sz = vread(kbuf, (char *)p, sz); | 449 | sz = vread(kbuf, (char *)p, sz); |
| 445 | if (!sz) | 450 | if (!sz) |
| 446 | break; | 451 | break; |
| 447 | if (copy_to_user(buf, kbuf, sz)) { | 452 | if (copy_to_user(buf, kbuf, sz)) { |
| 448 | free_page((unsigned long)kbuf); | 453 | err = -EFAULT; |
| 449 | return -EFAULT; | 454 | break; |
| 450 | } | 455 | } |
| 451 | count -= sz; | 456 | count -= sz; |
| 452 | buf += sz; | 457 | buf += sz; |
| @@ -455,8 +460,8 @@ static ssize_t read_kmem(struct file *file, char __user *buf, | |||
| 455 | } | 460 | } |
| 456 | free_page((unsigned long)kbuf); | 461 | free_page((unsigned long)kbuf); |
| 457 | } | 462 | } |
| 458 | *ppos = p; | 463 | *ppos = p; |
| 459 | return read; | 464 | return read ? read : err; |
| 460 | } | 465 | } |
| 461 | 466 | ||
| 462 | 467 | ||
| @@ -520,6 +525,7 @@ static ssize_t write_kmem(struct file * file, const char __user * buf, | |||
| 520 | ssize_t wrote = 0; | 525 | ssize_t wrote = 0; |
| 521 | ssize_t virtr = 0; | 526 | ssize_t virtr = 0; |
| 522 | char * kbuf; /* k-addr because vwrite() takes vmlist_lock rwlock */ | 527 | char * kbuf; /* k-addr because vwrite() takes vmlist_lock rwlock */ |
| 528 | int err = 0; | ||
| 523 | 529 | ||
| 524 | if (p < (unsigned long) high_memory) { | 530 | if (p < (unsigned long) high_memory) { |
| 525 | unsigned long to_write = min_t(unsigned long, count, | 531 | unsigned long to_write = min_t(unsigned long, count, |
| @@ -540,14 +546,16 @@ static ssize_t write_kmem(struct file * file, const char __user * buf, | |||
| 540 | unsigned long sz = size_inside_page(p, count); | 546 | unsigned long sz = size_inside_page(p, count); |
| 541 | unsigned long n; | 547 | unsigned long n; |
| 542 | 548 | ||
| 549 | if (!is_vmalloc_or_module_addr((void *)p)) { | ||
| 550 | err = -ENXIO; | ||
| 551 | break; | ||
| 552 | } | ||
| 543 | n = copy_from_user(kbuf, buf, sz); | 553 | n = copy_from_user(kbuf, buf, sz); |
| 544 | if (n) { | 554 | if (n) { |
| 545 | if (wrote + virtr) | 555 | err = -EFAULT; |
| 546 | break; | 556 | break; |
| 547 | free_page((unsigned long)kbuf); | ||
| 548 | return -EFAULT; | ||
| 549 | } | 557 | } |
| 550 | sz = vwrite(kbuf, (char *)p, sz); | 558 | vwrite(kbuf, (char *)p, sz); |
| 551 | count -= sz; | 559 | count -= sz; |
| 552 | buf += sz; | 560 | buf += sz; |
| 553 | virtr += sz; | 561 | virtr += sz; |
| @@ -556,8 +564,8 @@ static ssize_t write_kmem(struct file * file, const char __user * buf, | |||
| 556 | free_page((unsigned long)kbuf); | 564 | free_page((unsigned long)kbuf); |
| 557 | } | 565 | } |
| 558 | 566 | ||
| 559 | *ppos = p; | 567 | *ppos = p; |
| 560 | return virtr + wrote; | 568 | return virtr + wrote ? : err; |
| 561 | } | 569 | } |
| 562 | #endif | 570 | #endif |
| 563 | 571 | ||
diff --git a/drivers/connector/connector.c b/drivers/connector/connector.c index f06024668f99..537c29ac4487 100644 --- a/drivers/connector/connector.c +++ b/drivers/connector/connector.c | |||
| @@ -36,17 +36,6 @@ MODULE_LICENSE("GPL"); | |||
| 36 | MODULE_AUTHOR("Evgeniy Polyakov <zbr@ioremap.net>"); | 36 | MODULE_AUTHOR("Evgeniy Polyakov <zbr@ioremap.net>"); |
| 37 | MODULE_DESCRIPTION("Generic userspace <-> kernelspace connector."); | 37 | MODULE_DESCRIPTION("Generic userspace <-> kernelspace connector."); |
| 38 | 38 | ||
| 39 | static u32 cn_idx = CN_IDX_CONNECTOR; | ||
| 40 | static u32 cn_val = CN_VAL_CONNECTOR; | ||
| 41 | |||
| 42 | module_param(cn_idx, uint, 0); | ||
| 43 | module_param(cn_val, uint, 0); | ||
| 44 | MODULE_PARM_DESC(cn_idx, "Connector's main device idx."); | ||
| 45 | MODULE_PARM_DESC(cn_val, "Connector's main device val."); | ||
| 46 | |||
| 47 | static DEFINE_MUTEX(notify_lock); | ||
| 48 | static LIST_HEAD(notify_list); | ||
| 49 | |||
| 50 | static struct cn_dev cdev; | 39 | static struct cn_dev cdev; |
| 51 | 40 | ||
| 52 | static int cn_already_initialized; | 41 | static int cn_already_initialized; |
| @@ -210,54 +199,6 @@ static void cn_rx_skb(struct sk_buff *__skb) | |||
| 210 | } | 199 | } |
| 211 | 200 | ||
| 212 | /* | 201 | /* |
| 213 | * Notification routing. | ||
| 214 | * | ||
| 215 | * Gets id and checks if there are notification request for it's idx | ||
| 216 | * and val. If there are such requests notify the listeners with the | ||
| 217 | * given notify event. | ||
| 218 | * | ||
| 219 | */ | ||
| 220 | static void cn_notify(struct cb_id *id, u32 notify_event) | ||
| 221 | { | ||
| 222 | struct cn_ctl_entry *ent; | ||
| 223 | |||
| 224 | mutex_lock(¬ify_lock); | ||
| 225 | list_for_each_entry(ent, ¬ify_list, notify_entry) { | ||
| 226 | int i; | ||
| 227 | struct cn_notify_req *req; | ||
| 228 | struct cn_ctl_msg *ctl = ent->msg; | ||
| 229 | int idx_found, val_found; | ||
| 230 | |||
| 231 | idx_found = val_found = 0; | ||
| 232 | |||
| 233 | req = (struct cn_notify_req *)ctl->data; | ||
| 234 | for (i = 0; i < ctl->idx_notify_num; ++i, ++req) { | ||
| 235 | if (id->idx >= req->first && | ||
| 236 | id->idx < req->first + req->range) { | ||
| 237 | idx_found = 1; | ||
| 238 | break; | ||
| 239 | } | ||
| 240 | } | ||
| 241 | |||
| 242 | for (i = 0; i < ctl->val_notify_num; ++i, ++req) { | ||
| 243 | if (id->val >= req->first && | ||
| 244 | id->val < req->first + req->range) { | ||
| 245 | val_found = 1; | ||
| 246 | break; | ||
| 247 | } | ||
| 248 | } | ||
| 249 | |||
| 250 | if (idx_found && val_found) { | ||
| 251 | struct cn_msg m = { .ack = notify_event, }; | ||
| 252 | |||
| 253 | memcpy(&m.id, id, sizeof(m.id)); | ||
| 254 | cn_netlink_send(&m, ctl->group, GFP_KERNEL); | ||
| 255 | } | ||
| 256 | } | ||
| 257 | mutex_unlock(¬ify_lock); | ||
| 258 | } | ||
| 259 | |||
| 260 | /* | ||
| 261 | * Callback add routing - adds callback with given ID and name. | 202 | * Callback add routing - adds callback with given ID and name. |
| 262 | * If there is registered callback with the same ID it will not be added. | 203 | * If there is registered callback with the same ID it will not be added. |
| 263 | * | 204 | * |
| @@ -276,8 +217,6 @@ int cn_add_callback(struct cb_id *id, char *name, | |||
| 276 | if (err) | 217 | if (err) |
| 277 | return err; | 218 | return err; |
| 278 | 219 | ||
| 279 | cn_notify(id, 0); | ||
| 280 | |||
| 281 | return 0; | 220 | return 0; |
| 282 | } | 221 | } |
| 283 | EXPORT_SYMBOL_GPL(cn_add_callback); | 222 | EXPORT_SYMBOL_GPL(cn_add_callback); |
| @@ -295,111 +234,9 @@ void cn_del_callback(struct cb_id *id) | |||
| 295 | struct cn_dev *dev = &cdev; | 234 | struct cn_dev *dev = &cdev; |
| 296 | 235 | ||
| 297 | cn_queue_del_callback(dev->cbdev, id); | 236 | cn_queue_del_callback(dev->cbdev, id); |
| 298 | cn_notify(id, 1); | ||
| 299 | } | 237 | } |
| 300 | EXPORT_SYMBOL_GPL(cn_del_callback); | 238 | EXPORT_SYMBOL_GPL(cn_del_callback); |
| 301 | 239 | ||
| 302 | /* | ||
| 303 | * Checks two connector's control messages to be the same. | ||
| 304 | * Returns 1 if they are the same or if the first one is corrupted. | ||
| 305 | */ | ||
| 306 | static int cn_ctl_msg_equals(struct cn_ctl_msg *m1, struct cn_ctl_msg *m2) | ||
| 307 | { | ||
| 308 | int i; | ||
| 309 | struct cn_notify_req *req1, *req2; | ||
| 310 | |||
| 311 | if (m1->idx_notify_num != m2->idx_notify_num) | ||
| 312 | return 0; | ||
| 313 | |||
| 314 | if (m1->val_notify_num != m2->val_notify_num) | ||
| 315 | return 0; | ||
| 316 | |||
| 317 | if (m1->len != m2->len) | ||
| 318 | return 0; | ||
| 319 | |||
| 320 | if ((m1->idx_notify_num + m1->val_notify_num) * sizeof(*req1) != | ||
| 321 | m1->len) | ||
| 322 | return 1; | ||
| 323 | |||
| 324 | req1 = (struct cn_notify_req *)m1->data; | ||
| 325 | req2 = (struct cn_notify_req *)m2->data; | ||
| 326 | |||
| 327 | for (i = 0; i < m1->idx_notify_num; ++i) { | ||
| 328 | if (req1->first != req2->first || req1->range != req2->range) | ||
| 329 | return 0; | ||
| 330 | req1++; | ||
| 331 | req2++; | ||
| 332 | } | ||
| 333 | |||
| 334 | for (i = 0; i < m1->val_notify_num; ++i) { | ||
| 335 | if (req1->first != req2->first || req1->range != req2->range) | ||
| 336 | return 0; | ||
| 337 | req1++; | ||
| 338 | req2++; | ||
| 339 | } | ||
| 340 | |||
| 341 | return 1; | ||
| 342 | } | ||
| 343 | |||
| 344 | /* | ||
| 345 | * Main connector device's callback. | ||
| 346 | * | ||
| 347 | * Used for notification of a request's processing. | ||
| 348 | */ | ||
| 349 | static void cn_callback(struct cn_msg *msg, struct netlink_skb_parms *nsp) | ||
| 350 | { | ||
| 351 | struct cn_ctl_msg *ctl; | ||
| 352 | struct cn_ctl_entry *ent; | ||
| 353 | u32 size; | ||
| 354 | |||
| 355 | if (msg->len < sizeof(*ctl)) | ||
| 356 | return; | ||
| 357 | |||
| 358 | ctl = (struct cn_ctl_msg *)msg->data; | ||
| 359 | |||
| 360 | size = (sizeof(*ctl) + ((ctl->idx_notify_num + | ||
| 361 | ctl->val_notify_num) * | ||
| 362 | sizeof(struct cn_notify_req))); | ||
| 363 | |||
| 364 | if (msg->len != size) | ||
| 365 | return; | ||
| 366 | |||
| 367 | if (ctl->len + sizeof(*ctl) != msg->len) | ||
| 368 | return; | ||
| 369 | |||
| 370 | /* | ||
| 371 | * Remove notification. | ||
| 372 | */ | ||
| 373 | if (ctl->group == 0) { | ||
| 374 | struct cn_ctl_entry *n; | ||
| 375 | |||
| 376 | mutex_lock(¬ify_lock); | ||
| 377 | list_for_each_entry_safe(ent, n, ¬ify_list, notify_entry) { | ||
| 378 | if (cn_ctl_msg_equals(ent->msg, ctl)) { | ||
| 379 | list_del(&ent->notify_entry); | ||
| 380 | kfree(ent); | ||
| 381 | } | ||
| 382 | } | ||
| 383 | mutex_unlock(¬ify_lock); | ||
| 384 | |||
| 385 | return; | ||
| 386 | } | ||
| 387 | |||
| 388 | size += sizeof(*ent); | ||
| 389 | |||
| 390 | ent = kzalloc(size, GFP_KERNEL); | ||
| 391 | if (!ent) | ||
| 392 | return; | ||
| 393 | |||
| 394 | ent->msg = (struct cn_ctl_msg *)(ent + 1); | ||
| 395 | |||
| 396 | memcpy(ent->msg, ctl, size - sizeof(*ent)); | ||
| 397 | |||
| 398 | mutex_lock(¬ify_lock); | ||
| 399 | list_add(&ent->notify_entry, ¬ify_list); | ||
| 400 | mutex_unlock(¬ify_lock); | ||
| 401 | } | ||
| 402 | |||
| 403 | static int cn_proc_show(struct seq_file *m, void *v) | 240 | static int cn_proc_show(struct seq_file *m, void *v) |
| 404 | { | 241 | { |
| 405 | struct cn_queue_dev *dev = cdev.cbdev; | 242 | struct cn_queue_dev *dev = cdev.cbdev; |
| @@ -437,11 +274,8 @@ static const struct file_operations cn_file_ops = { | |||
| 437 | static int __devinit cn_init(void) | 274 | static int __devinit cn_init(void) |
| 438 | { | 275 | { |
| 439 | struct cn_dev *dev = &cdev; | 276 | struct cn_dev *dev = &cdev; |
| 440 | int err; | ||
| 441 | 277 | ||
| 442 | dev->input = cn_rx_skb; | 278 | dev->input = cn_rx_skb; |
| 443 | dev->id.idx = cn_idx; | ||
| 444 | dev->id.val = cn_val; | ||
| 445 | 279 | ||
| 446 | dev->nls = netlink_kernel_create(&init_net, NETLINK_CONNECTOR, | 280 | dev->nls = netlink_kernel_create(&init_net, NETLINK_CONNECTOR, |
| 447 | CN_NETLINK_USERS + 0xf, | 281 | CN_NETLINK_USERS + 0xf, |
| @@ -457,14 +291,6 @@ static int __devinit cn_init(void) | |||
| 457 | 291 | ||
| 458 | cn_already_initialized = 1; | 292 | cn_already_initialized = 1; |
| 459 | 293 | ||
| 460 | err = cn_add_callback(&dev->id, "connector", &cn_callback); | ||
| 461 | if (err) { | ||
| 462 | cn_already_initialized = 0; | ||
| 463 | cn_queue_free_dev(dev->cbdev); | ||
| 464 | netlink_kernel_release(dev->nls); | ||
| 465 | return -EINVAL; | ||
| 466 | } | ||
| 467 | |||
| 468 | proc_net_fops_create(&init_net, "connector", S_IRUGO, &cn_file_ops); | 294 | proc_net_fops_create(&init_net, "connector", S_IRUGO, &cn_file_ops); |
| 469 | 295 | ||
| 470 | return 0; | 296 | return 0; |
| @@ -478,7 +304,6 @@ static void __devexit cn_fini(void) | |||
| 478 | 304 | ||
| 479 | proc_net_remove(&init_net, "connector"); | 305 | proc_net_remove(&init_net, "connector"); |
| 480 | 306 | ||
| 481 | cn_del_callback(&dev->id); | ||
| 482 | cn_queue_free_dev(dev->cbdev); | 307 | cn_queue_free_dev(dev->cbdev); |
| 483 | netlink_kernel_release(dev->nls); | 308 | netlink_kernel_release(dev->nls); |
| 484 | } | 309 | } |
diff --git a/drivers/media/common/saa7146_video.c b/drivers/media/common/saa7146_video.c index becbaadb3b77..5ed75263340a 100644 --- a/drivers/media/common/saa7146_video.c +++ b/drivers/media/common/saa7146_video.c | |||
| @@ -1333,9 +1333,9 @@ static void buffer_release(struct videobuf_queue *q, struct videobuf_buffer *vb) | |||
| 1333 | 1333 | ||
| 1334 | DEB_CAP(("vbuf:%p\n",vb)); | 1334 | DEB_CAP(("vbuf:%p\n",vb)); |
| 1335 | 1335 | ||
| 1336 | release_all_pagetables(dev, buf); | ||
| 1337 | |||
| 1338 | saa7146_dma_free(dev,q,buf); | 1336 | saa7146_dma_free(dev,q,buf); |
| 1337 | |||
| 1338 | release_all_pagetables(dev, buf); | ||
| 1339 | } | 1339 | } |
| 1340 | 1340 | ||
| 1341 | static struct videobuf_queue_ops video_qops = { | 1341 | static struct videobuf_queue_ops video_qops = { |
diff --git a/drivers/media/video/saa7134/saa7134-empress.c b/drivers/media/video/saa7134/saa7134-empress.c index 7dfecfc6017c..ee5bff02a92c 100644 --- a/drivers/media/video/saa7134/saa7134-empress.c +++ b/drivers/media/video/saa7134/saa7134-empress.c | |||
| @@ -93,9 +93,9 @@ static int ts_open(struct file *file) | |||
| 93 | dprintk("open dev=%s\n", video_device_node_name(vdev)); | 93 | dprintk("open dev=%s\n", video_device_node_name(vdev)); |
| 94 | err = -EBUSY; | 94 | err = -EBUSY; |
| 95 | if (!mutex_trylock(&dev->empress_tsq.vb_lock)) | 95 | if (!mutex_trylock(&dev->empress_tsq.vb_lock)) |
| 96 | goto done; | 96 | return err; |
| 97 | if (atomic_read(&dev->empress_users)) | 97 | if (atomic_read(&dev->empress_users)) |
| 98 | goto done_up; | 98 | goto done; |
| 99 | 99 | ||
| 100 | /* Unmute audio */ | 100 | /* Unmute audio */ |
| 101 | saa_writeb(SAA7134_AUDIO_MUTE_CTRL, | 101 | saa_writeb(SAA7134_AUDIO_MUTE_CTRL, |
| @@ -105,10 +105,8 @@ static int ts_open(struct file *file) | |||
| 105 | file->private_data = dev; | 105 | file->private_data = dev; |
| 106 | err = 0; | 106 | err = 0; |
| 107 | 107 | ||
| 108 | done_up: | ||
| 109 | mutex_unlock(&dev->empress_tsq.vb_lock); | ||
| 110 | done: | 108 | done: |
| 111 | unlock_kernel(); | 109 | mutex_unlock(&dev->empress_tsq.vb_lock); |
| 112 | return err; | 110 | return err; |
| 113 | } | 111 | } |
| 114 | 112 | ||
diff --git a/drivers/net/benet/be.h b/drivers/net/benet/be.h index 9fd8e5ecd5d7..5bc74590c73e 100644 --- a/drivers/net/benet/be.h +++ b/drivers/net/benet/be.h | |||
| @@ -276,8 +276,13 @@ struct be_adapter { | |||
| 276 | int link_speed; | 276 | int link_speed; |
| 277 | u8 port_type; | 277 | u8 port_type; |
| 278 | u8 transceiver; | 278 | u8 transceiver; |
| 279 | u8 generation; /* BladeEngine ASIC generation */ | ||
| 279 | }; | 280 | }; |
| 280 | 281 | ||
| 282 | /* BladeEngine Generation numbers */ | ||
| 283 | #define BE_GEN2 2 | ||
| 284 | #define BE_GEN3 3 | ||
| 285 | |||
| 281 | extern const struct ethtool_ops be_ethtool_ops; | 286 | extern const struct ethtool_ops be_ethtool_ops; |
| 282 | 287 | ||
| 283 | #define drvr_stats(adapter) (&adapter->stats.drvr_stats) | 288 | #define drvr_stats(adapter) (&adapter->stats.drvr_stats) |
diff --git a/drivers/net/benet/be_cmds.h b/drivers/net/benet/be_cmds.h index c002b8391b4d..13b33c841083 100644 --- a/drivers/net/benet/be_cmds.h +++ b/drivers/net/benet/be_cmds.h | |||
| @@ -164,7 +164,8 @@ struct be_cmd_req_hdr { | |||
| 164 | u8 domain; /* dword 0 */ | 164 | u8 domain; /* dword 0 */ |
| 165 | u32 timeout; /* dword 1 */ | 165 | u32 timeout; /* dword 1 */ |
| 166 | u32 request_length; /* dword 2 */ | 166 | u32 request_length; /* dword 2 */ |
| 167 | u32 rsvd; /* dword 3 */ | 167 | u8 version; /* dword 3 */ |
| 168 | u8 rsvd[3]; /* dword 3 */ | ||
| 168 | }; | 169 | }; |
| 169 | 170 | ||
| 170 | #define RESP_HDR_INFO_OPCODE_SHIFT 0 /* bits 0 - 7 */ | 171 | #define RESP_HDR_INFO_OPCODE_SHIFT 0 /* bits 0 - 7 */ |
diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c index 33ab8c7f14fe..626b76c0ebc7 100644 --- a/drivers/net/benet/be_main.c +++ b/drivers/net/benet/be_main.c | |||
| @@ -1350,7 +1350,7 @@ static irqreturn_t be_intx(int irq, void *dev) | |||
| 1350 | int isr; | 1350 | int isr; |
| 1351 | 1351 | ||
| 1352 | isr = ioread32(adapter->csr + CEV_ISR0_OFFSET + | 1352 | isr = ioread32(adapter->csr + CEV_ISR0_OFFSET + |
| 1353 | be_pci_func(adapter) * CEV_ISR_SIZE); | 1353 | (adapter->tx_eq.q.id/ 8) * CEV_ISR_SIZE); |
| 1354 | if (!isr) | 1354 | if (!isr) |
| 1355 | return IRQ_NONE; | 1355 | return IRQ_NONE; |
| 1356 | 1356 | ||
| @@ -2051,6 +2051,7 @@ static void be_unmap_pci_bars(struct be_adapter *adapter) | |||
| 2051 | static int be_map_pci_bars(struct be_adapter *adapter) | 2051 | static int be_map_pci_bars(struct be_adapter *adapter) |
| 2052 | { | 2052 | { |
| 2053 | u8 __iomem *addr; | 2053 | u8 __iomem *addr; |
| 2054 | int pcicfg_reg; | ||
| 2054 | 2055 | ||
| 2055 | addr = ioremap_nocache(pci_resource_start(adapter->pdev, 2), | 2056 | addr = ioremap_nocache(pci_resource_start(adapter->pdev, 2), |
| 2056 | pci_resource_len(adapter->pdev, 2)); | 2057 | pci_resource_len(adapter->pdev, 2)); |
| @@ -2064,8 +2065,13 @@ static int be_map_pci_bars(struct be_adapter *adapter) | |||
| 2064 | goto pci_map_err; | 2065 | goto pci_map_err; |
| 2065 | adapter->db = addr; | 2066 | adapter->db = addr; |
| 2066 | 2067 | ||
| 2067 | addr = ioremap_nocache(pci_resource_start(adapter->pdev, 1), | 2068 | if (adapter->generation == BE_GEN2) |
| 2068 | pci_resource_len(adapter->pdev, 1)); | 2069 | pcicfg_reg = 1; |
| 2070 | else | ||
| 2071 | pcicfg_reg = 0; | ||
| 2072 | |||
| 2073 | addr = ioremap_nocache(pci_resource_start(adapter->pdev, pcicfg_reg), | ||
| 2074 | pci_resource_len(adapter->pdev, pcicfg_reg)); | ||
| 2069 | if (addr == NULL) | 2075 | if (addr == NULL) |
| 2070 | goto pci_map_err; | 2076 | goto pci_map_err; |
| 2071 | adapter->pcicfg = addr; | 2077 | adapter->pcicfg = addr; |
| @@ -2162,6 +2168,7 @@ static int be_stats_init(struct be_adapter *adapter) | |||
| 2162 | cmd->va = pci_alloc_consistent(adapter->pdev, cmd->size, &cmd->dma); | 2168 | cmd->va = pci_alloc_consistent(adapter->pdev, cmd->size, &cmd->dma); |
| 2163 | if (cmd->va == NULL) | 2169 | if (cmd->va == NULL) |
| 2164 | return -1; | 2170 | return -1; |
| 2171 | memset(cmd->va, 0, cmd->size); | ||
| 2165 | return 0; | 2172 | return 0; |
| 2166 | } | 2173 | } |
| 2167 | 2174 | ||
| @@ -2240,6 +2247,20 @@ static int __devinit be_probe(struct pci_dev *pdev, | |||
| 2240 | goto rel_reg; | 2247 | goto rel_reg; |
| 2241 | } | 2248 | } |
| 2242 | adapter = netdev_priv(netdev); | 2249 | adapter = netdev_priv(netdev); |
| 2250 | |||
| 2251 | switch (pdev->device) { | ||
| 2252 | case BE_DEVICE_ID1: | ||
| 2253 | case OC_DEVICE_ID1: | ||
| 2254 | adapter->generation = BE_GEN2; | ||
| 2255 | break; | ||
| 2256 | case BE_DEVICE_ID2: | ||
| 2257 | case OC_DEVICE_ID2: | ||
| 2258 | adapter->generation = BE_GEN3; | ||
| 2259 | break; | ||
| 2260 | default: | ||
| 2261 | adapter->generation = 0; | ||
| 2262 | } | ||
| 2263 | |||
| 2243 | adapter->pdev = pdev; | 2264 | adapter->pdev = pdev; |
| 2244 | pci_set_drvdata(pdev, adapter); | 2265 | pci_set_drvdata(pdev, adapter); |
| 2245 | adapter->netdev = netdev; | 2266 | adapter->netdev = netdev; |
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 3f0071cfe56b..efa0e41bf3ec 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
| @@ -3639,7 +3639,7 @@ static int bond_open(struct net_device *bond_dev) | |||
| 3639 | */ | 3639 | */ |
| 3640 | if (bond_alb_initialize(bond, (bond->params.mode == BOND_MODE_ALB))) { | 3640 | if (bond_alb_initialize(bond, (bond->params.mode == BOND_MODE_ALB))) { |
| 3641 | /* something went wrong - fail the open operation */ | 3641 | /* something went wrong - fail the open operation */ |
| 3642 | return -1; | 3642 | return -ENOMEM; |
| 3643 | } | 3643 | } |
| 3644 | 3644 | ||
| 3645 | INIT_DELAYED_WORK(&bond->alb_work, bond_alb_monitor); | 3645 | INIT_DELAYED_WORK(&bond->alb_work, bond_alb_monitor); |
diff --git a/drivers/net/igbvf/netdev.c b/drivers/net/igbvf/netdev.c index 297a5ddd77f0..2aa71a766c35 100644 --- a/drivers/net/igbvf/netdev.c +++ b/drivers/net/igbvf/netdev.c | |||
| @@ -2117,6 +2117,7 @@ static inline int igbvf_tx_map_adv(struct igbvf_adapter *adapter, | |||
| 2117 | /* set time_stamp *before* dma to help avoid a possible race */ | 2117 | /* set time_stamp *before* dma to help avoid a possible race */ |
| 2118 | buffer_info->time_stamp = jiffies; | 2118 | buffer_info->time_stamp = jiffies; |
| 2119 | buffer_info->next_to_watch = i; | 2119 | buffer_info->next_to_watch = i; |
| 2120 | buffer_info->mapped_as_page = false; | ||
| 2120 | buffer_info->dma = pci_map_single(pdev, skb->data, len, | 2121 | buffer_info->dma = pci_map_single(pdev, skb->data, len, |
| 2121 | PCI_DMA_TODEVICE); | 2122 | PCI_DMA_TODEVICE); |
| 2122 | if (pci_dma_mapping_error(pdev, buffer_info->dma)) | 2123 | if (pci_dma_mapping_error(pdev, buffer_info->dma)) |
diff --git a/drivers/net/ixgbe/ixgbe_dcb_nl.c b/drivers/net/ixgbe/ixgbe_dcb_nl.c index 56f37f66b696..dd4883f642be 100644 --- a/drivers/net/ixgbe/ixgbe_dcb_nl.c +++ b/drivers/net/ixgbe/ixgbe_dcb_nl.c | |||
| @@ -223,7 +223,7 @@ static void ixgbe_dcbnl_set_pg_bwg_cfg_tx(struct net_device *netdev, int bwg_id, | |||
| 223 | 223 | ||
| 224 | if (adapter->temp_dcb_cfg.bw_percentage[0][bwg_id] != | 224 | if (adapter->temp_dcb_cfg.bw_percentage[0][bwg_id] != |
| 225 | adapter->dcb_cfg.bw_percentage[0][bwg_id]) { | 225 | adapter->dcb_cfg.bw_percentage[0][bwg_id]) { |
| 226 | adapter->dcb_set_bitmap |= BIT_PG_RX; | 226 | adapter->dcb_set_bitmap |= BIT_PG_TX; |
| 227 | adapter->dcb_set_bitmap |= BIT_RESETLINK; | 227 | adapter->dcb_set_bitmap |= BIT_RESETLINK; |
| 228 | } | 228 | } |
| 229 | } | 229 | } |
| @@ -341,6 +341,12 @@ static u8 ixgbe_dcbnl_set_all(struct net_device *netdev) | |||
| 341 | if (!adapter->dcb_set_bitmap) | 341 | if (!adapter->dcb_set_bitmap) |
| 342 | return DCB_NO_HW_CHG; | 342 | return DCB_NO_HW_CHG; |
| 343 | 343 | ||
| 344 | ret = ixgbe_copy_dcb_cfg(&adapter->temp_dcb_cfg, &adapter->dcb_cfg, | ||
| 345 | adapter->ring_feature[RING_F_DCB].indices); | ||
| 346 | |||
| 347 | if (ret) | ||
| 348 | return DCB_NO_HW_CHG; | ||
| 349 | |||
| 344 | /* | 350 | /* |
| 345 | * Only take down the adapter if the configuration change | 351 | * Only take down the adapter if the configuration change |
| 346 | * requires a reset. | 352 | * requires a reset. |
| @@ -359,14 +365,6 @@ static u8 ixgbe_dcbnl_set_all(struct net_device *netdev) | |||
| 359 | } | 365 | } |
| 360 | } | 366 | } |
| 361 | 367 | ||
| 362 | ret = ixgbe_copy_dcb_cfg(&adapter->temp_dcb_cfg, &adapter->dcb_cfg, | ||
| 363 | adapter->ring_feature[RING_F_DCB].indices); | ||
| 364 | if (ret) { | ||
| 365 | if (adapter->dcb_set_bitmap & BIT_RESETLINK) | ||
| 366 | clear_bit(__IXGBE_RESETTING, &adapter->state); | ||
| 367 | return DCB_NO_HW_CHG; | ||
| 368 | } | ||
| 369 | |||
| 370 | if (adapter->dcb_cfg.pfc_mode_enable) { | 368 | if (adapter->dcb_cfg.pfc_mode_enable) { |
| 371 | if ((adapter->hw.mac.type != ixgbe_mac_82598EB) && | 369 | if ((adapter->hw.mac.type != ixgbe_mac_82598EB) && |
| 372 | (adapter->hw.fc.current_mode != ixgbe_fc_pfc)) | 370 | (adapter->hw.fc.current_mode != ixgbe_fc_pfc)) |
diff --git a/drivers/net/ks8851_mll.c b/drivers/net/ks8851_mll.c index c146304d8d6c..c0ceebccaa49 100644 --- a/drivers/net/ks8851_mll.c +++ b/drivers/net/ks8851_mll.c | |||
| @@ -854,8 +854,8 @@ static void ks_update_link_status(struct net_device *netdev, struct ks_net *ks) | |||
| 854 | 854 | ||
| 855 | static irqreturn_t ks_irq(int irq, void *pw) | 855 | static irqreturn_t ks_irq(int irq, void *pw) |
| 856 | { | 856 | { |
| 857 | struct ks_net *ks = pw; | 857 | struct net_device *netdev = pw; |
| 858 | struct net_device *netdev = ks->netdev; | 858 | struct ks_net *ks = netdev_priv(netdev); |
| 859 | u16 status; | 859 | u16 status; |
| 860 | 860 | ||
| 861 | /*this should be the first in IRQ handler */ | 861 | /*this should be the first in IRQ handler */ |
diff --git a/drivers/net/starfire.c b/drivers/net/starfire.c index 95db60adde41..f9521136a869 100644 --- a/drivers/net/starfire.c +++ b/drivers/net/starfire.c | |||
| @@ -1063,7 +1063,7 @@ static int netdev_open(struct net_device *dev) | |||
| 1063 | if (retval) { | 1063 | if (retval) { |
| 1064 | printk(KERN_ERR "starfire: Failed to load firmware \"%s\"\n", | 1064 | printk(KERN_ERR "starfire: Failed to load firmware \"%s\"\n", |
| 1065 | FIRMWARE_RX); | 1065 | FIRMWARE_RX); |
| 1066 | return retval; | 1066 | goto out_init; |
| 1067 | } | 1067 | } |
| 1068 | if (fw_rx->size % 4) { | 1068 | if (fw_rx->size % 4) { |
| 1069 | printk(KERN_ERR "starfire: bogus length %zu in \"%s\"\n", | 1069 | printk(KERN_ERR "starfire: bogus length %zu in \"%s\"\n", |
| @@ -1108,6 +1108,9 @@ out_tx: | |||
| 1108 | release_firmware(fw_tx); | 1108 | release_firmware(fw_tx); |
| 1109 | out_rx: | 1109 | out_rx: |
| 1110 | release_firmware(fw_rx); | 1110 | release_firmware(fw_rx); |
| 1111 | out_init: | ||
| 1112 | if (retval) | ||
| 1113 | netdev_close(dev); | ||
| 1111 | return retval; | 1114 | return retval; |
| 1112 | } | 1115 | } |
| 1113 | 1116 | ||
diff --git a/drivers/net/usb/cdc_ether.c b/drivers/net/usb/cdc_ether.c index 21e183a83b99..4f27f022fbf7 100644 --- a/drivers/net/usb/cdc_ether.c +++ b/drivers/net/usb/cdc_ether.c | |||
| @@ -419,7 +419,7 @@ static int cdc_manage_power(struct usbnet *dev, int on) | |||
| 419 | 419 | ||
| 420 | static const struct driver_info cdc_info = { | 420 | static const struct driver_info cdc_info = { |
| 421 | .description = "CDC Ethernet Device", | 421 | .description = "CDC Ethernet Device", |
| 422 | .flags = FLAG_ETHER | FLAG_LINK_INTR, | 422 | .flags = FLAG_ETHER, |
| 423 | // .check_connect = cdc_check_connect, | 423 | // .check_connect = cdc_check_connect, |
| 424 | .bind = cdc_bind, | 424 | .bind = cdc_bind, |
| 425 | .unbind = usbnet_cdc_unbind, | 425 | .unbind = usbnet_cdc_unbind, |
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index 2ec61f08cfdb..ae371448b5a0 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c | |||
| @@ -855,12 +855,11 @@ static void ath9k_hw_init_mode_gain_regs(struct ath_hw *ah) | |||
| 855 | } | 855 | } |
| 856 | } | 856 | } |
| 857 | 857 | ||
| 858 | static void ath9k_hw_init_11a_eeprom_fix(struct ath_hw *ah) | 858 | static void ath9k_hw_init_eeprom_fix(struct ath_hw *ah) |
| 859 | { | 859 | { |
| 860 | u32 i, j; | 860 | u32 i, j; |
| 861 | 861 | ||
| 862 | if ((ah->hw_version.devid == AR9280_DEVID_PCI) && | 862 | if (ah->hw_version.devid == AR9280_DEVID_PCI) { |
| 863 | test_bit(ATH9K_MODE_11A, ah->caps.wireless_modes)) { | ||
| 864 | 863 | ||
| 865 | /* EEPROM Fixup */ | 864 | /* EEPROM Fixup */ |
| 866 | for (i = 0; i < ah->iniModes.ia_rows; i++) { | 865 | for (i = 0; i < ah->iniModes.ia_rows; i++) { |
| @@ -980,7 +979,7 @@ int ath9k_hw_init(struct ath_hw *ah) | |||
| 980 | if (r) | 979 | if (r) |
| 981 | return r; | 980 | return r; |
| 982 | 981 | ||
| 983 | ath9k_hw_init_11a_eeprom_fix(ah); | 982 | ath9k_hw_init_eeprom_fix(ah); |
| 984 | 983 | ||
| 985 | r = ath9k_hw_init_macaddr(ah); | 984 | r = ath9k_hw_init_macaddr(ah); |
| 986 | if (r) { | 985 | if (r) { |
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index 996eb90263cc..643bea35686f 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c | |||
| @@ -2655,10 +2655,10 @@ static void ath9k_remove_interface(struct ieee80211_hw *hw, | |||
| 2655 | (sc->sc_ah->opmode == NL80211_IFTYPE_MESH_POINT)) { | 2655 | (sc->sc_ah->opmode == NL80211_IFTYPE_MESH_POINT)) { |
| 2656 | ath9k_ps_wakeup(sc); | 2656 | ath9k_ps_wakeup(sc); |
| 2657 | ath9k_hw_stoptxdma(sc->sc_ah, sc->beacon.beaconq); | 2657 | ath9k_hw_stoptxdma(sc->sc_ah, sc->beacon.beaconq); |
| 2658 | ath_beacon_return(sc, avp); | ||
| 2659 | ath9k_ps_restore(sc); | 2658 | ath9k_ps_restore(sc); |
| 2660 | } | 2659 | } |
| 2661 | 2660 | ||
| 2661 | ath_beacon_return(sc, avp); | ||
| 2662 | sc->sc_flags &= ~SC_OP_BEACONS; | 2662 | sc->sc_flags &= ~SC_OP_BEACONS; |
| 2663 | 2663 | ||
| 2664 | for (i = 0; i < ARRAY_SIZE(sc->beacon.bslot); i++) { | 2664 | for (i = 0; i < ARRAY_SIZE(sc->beacon.bslot); i++) { |
diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.c b/drivers/net/wireless/iwlwifi/iwl-sta.c index cde09a890b73..90fbdb25399e 100644 --- a/drivers/net/wireless/iwlwifi/iwl-sta.c +++ b/drivers/net/wireless/iwlwifi/iwl-sta.c | |||
| @@ -297,7 +297,7 @@ u8 iwl_add_station(struct iwl_priv *priv, const u8 *addr, bool is_ap, u8 flags, | |||
| 297 | } | 297 | } |
| 298 | EXPORT_SYMBOL(iwl_add_station); | 298 | EXPORT_SYMBOL(iwl_add_station); |
| 299 | 299 | ||
| 300 | static void iwl_sta_ucode_deactivate(struct iwl_priv *priv, const char *addr) | 300 | static void iwl_sta_ucode_deactivate(struct iwl_priv *priv, const u8 *addr) |
| 301 | { | 301 | { |
| 302 | unsigned long flags; | 302 | unsigned long flags; |
| 303 | u8 sta_id = iwl_find_station(priv, addr); | 303 | u8 sta_id = iwl_find_station(priv, addr); |
| @@ -324,7 +324,7 @@ static void iwl_remove_sta_callback(struct iwl_priv *priv, | |||
| 324 | { | 324 | { |
| 325 | struct iwl_rem_sta_cmd *rm_sta = | 325 | struct iwl_rem_sta_cmd *rm_sta = |
| 326 | (struct iwl_rem_sta_cmd *)cmd->cmd.payload; | 326 | (struct iwl_rem_sta_cmd *)cmd->cmd.payload; |
| 327 | const char *addr = rm_sta->addr; | 327 | const u8 *addr = rm_sta->addr; |
| 328 | 328 | ||
| 329 | if (pkt->hdr.flags & IWL_CMD_FAILED_MSK) { | 329 | if (pkt->hdr.flags & IWL_CMD_FAILED_MSK) { |
| 330 | IWL_ERR(priv, "Bad return from REPLY_REMOVE_STA (0x%08X)\n", | 330 | IWL_ERR(priv, "Bad return from REPLY_REMOVE_STA (0x%08X)\n", |
diff --git a/drivers/rtc/rtc-fm3130.c b/drivers/rtc/rtc-fm3130.c index 3a7be11cc6b9..812c66755083 100644 --- a/drivers/rtc/rtc-fm3130.c +++ b/drivers/rtc/rtc-fm3130.c | |||
| @@ -376,20 +376,22 @@ static int __devinit fm3130_probe(struct i2c_client *client, | |||
| 376 | } | 376 | } |
| 377 | 377 | ||
| 378 | /* Disabling calibration mode */ | 378 | /* Disabling calibration mode */ |
| 379 | if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_CAL) | 379 | if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_CAL) { |
| 380 | i2c_smbus_write_byte_data(client, FM3130_RTC_CONTROL, | 380 | i2c_smbus_write_byte_data(client, FM3130_RTC_CONTROL, |
| 381 | fm3130->regs[FM3130_RTC_CONTROL] & | 381 | fm3130->regs[FM3130_RTC_CONTROL] & |
| 382 | ~(FM3130_RTC_CONTROL_BIT_CAL)); | 382 | ~(FM3130_RTC_CONTROL_BIT_CAL)); |
| 383 | dev_warn(&client->dev, "Disabling calibration mode!\n"); | 383 | dev_warn(&client->dev, "Disabling calibration mode!\n"); |
| 384 | } | ||
| 384 | 385 | ||
| 385 | /* Disabling read and write modes */ | 386 | /* Disabling read and write modes */ |
| 386 | if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_WRITE || | 387 | if (fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_WRITE || |
| 387 | fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_READ) | 388 | fm3130->regs[FM3130_RTC_CONTROL] & FM3130_RTC_CONTROL_BIT_READ) { |
| 388 | i2c_smbus_write_byte_data(client, FM3130_RTC_CONTROL, | 389 | i2c_smbus_write_byte_data(client, FM3130_RTC_CONTROL, |
| 389 | fm3130->regs[FM3130_RTC_CONTROL] & | 390 | fm3130->regs[FM3130_RTC_CONTROL] & |
| 390 | ~(FM3130_RTC_CONTROL_BIT_READ | | 391 | ~(FM3130_RTC_CONTROL_BIT_READ | |
| 391 | FM3130_RTC_CONTROL_BIT_WRITE)); | 392 | FM3130_RTC_CONTROL_BIT_WRITE)); |
| 392 | dev_warn(&client->dev, "Disabling READ or WRITE mode!\n"); | 393 | dev_warn(&client->dev, "Disabling READ or WRITE mode!\n"); |
| 394 | } | ||
| 393 | 395 | ||
| 394 | /* oscillator off? turn it on, so clock can tick. */ | 396 | /* oscillator off? turn it on, so clock can tick. */ |
| 395 | if (fm3130->regs[FM3130_CAL_CONTROL] & FM3130_CAL_CONTROL_BIT_nOSCEN) | 397 | if (fm3130->regs[FM3130_CAL_CONTROL] & FM3130_CAL_CONTROL_BIT_nOSCEN) |
diff --git a/drivers/serial/uartlite.c b/drivers/serial/uartlite.c index 377f2712289e..ab2ab3c81834 100644 --- a/drivers/serial/uartlite.c +++ b/drivers/serial/uartlite.c | |||
| @@ -394,7 +394,7 @@ static void ulite_console_write(struct console *co, const char *s, | |||
| 394 | spin_unlock_irqrestore(&port->lock, flags); | 394 | spin_unlock_irqrestore(&port->lock, flags); |
| 395 | } | 395 | } |
| 396 | 396 | ||
| 397 | static int __init ulite_console_setup(struct console *co, char *options) | 397 | static int __devinit ulite_console_setup(struct console *co, char *options) |
| 398 | { | 398 | { |
| 399 | struct uart_port *port; | 399 | struct uart_port *port; |
| 400 | int baud = 9600; | 400 | int baud = 9600; |
diff --git a/drivers/video/imxfb.c b/drivers/video/imxfb.c index 66358fa825f3..b4b6deceed15 100644 --- a/drivers/video/imxfb.c +++ b/drivers/video/imxfb.c | |||
| @@ -593,7 +593,8 @@ static int imxfb_activate_var(struct fb_var_screeninfo *var, struct fb_info *inf | |||
| 593 | */ | 593 | */ |
| 594 | static int imxfb_suspend(struct platform_device *dev, pm_message_t state) | 594 | static int imxfb_suspend(struct platform_device *dev, pm_message_t state) |
| 595 | { | 595 | { |
| 596 | struct imxfb_info *fbi = platform_get_drvdata(dev); | 596 | struct fb_info *info = platform_get_drvdata(dev); |
| 597 | struct imxfb_info *fbi = info->par; | ||
| 597 | 598 | ||
| 598 | pr_debug("%s\n", __func__); | 599 | pr_debug("%s\n", __func__); |
| 599 | 600 | ||
| @@ -603,7 +604,8 @@ static int imxfb_suspend(struct platform_device *dev, pm_message_t state) | |||
| 603 | 604 | ||
| 604 | static int imxfb_resume(struct platform_device *dev) | 605 | static int imxfb_resume(struct platform_device *dev) |
| 605 | { | 606 | { |
| 606 | struct imxfb_info *fbi = platform_get_drvdata(dev); | 607 | struct fb_info *info = platform_get_drvdata(dev); |
| 608 | struct imxfb_info *fbi = info->par; | ||
| 607 | 609 | ||
| 608 | pr_debug("%s\n", __func__); | 610 | pr_debug("%s\n", __func__); |
| 609 | 611 | ||
diff --git a/drivers/video/mx3fb.c b/drivers/video/mx3fb.c index 054ef29be479..772ba3f45e6f 100644 --- a/drivers/video/mx3fb.c +++ b/drivers/video/mx3fb.c | |||
| @@ -324,8 +324,11 @@ static void sdc_enable_channel(struct mx3fb_info *mx3_fbi) | |||
| 324 | unsigned long flags; | 324 | unsigned long flags; |
| 325 | dma_cookie_t cookie; | 325 | dma_cookie_t cookie; |
| 326 | 326 | ||
| 327 | dev_dbg(mx3fb->dev, "mx3fbi %p, desc %p, sg %p\n", mx3_fbi, | 327 | if (mx3_fbi->txd) |
| 328 | to_tx_desc(mx3_fbi->txd), to_tx_desc(mx3_fbi->txd)->sg); | 328 | dev_dbg(mx3fb->dev, "mx3fbi %p, desc %p, sg %p\n", mx3_fbi, |
| 329 | to_tx_desc(mx3_fbi->txd), to_tx_desc(mx3_fbi->txd)->sg); | ||
| 330 | else | ||
| 331 | dev_dbg(mx3fb->dev, "mx3fbi %p, txd = NULL\n", mx3_fbi); | ||
| 329 | 332 | ||
| 330 | /* This enables the channel */ | 333 | /* This enables the channel */ |
| 331 | if (mx3_fbi->cookie < 0) { | 334 | if (mx3_fbi->cookie < 0) { |
| @@ -646,6 +649,7 @@ static int sdc_set_global_alpha(struct mx3fb_data *mx3fb, bool enable, uint8_t a | |||
| 646 | 649 | ||
| 647 | static void sdc_set_brightness(struct mx3fb_data *mx3fb, uint8_t value) | 650 | static void sdc_set_brightness(struct mx3fb_data *mx3fb, uint8_t value) |
| 648 | { | 651 | { |
| 652 | dev_dbg(mx3fb->dev, "%s: value = %d\n", __func__, value); | ||
| 649 | /* This might be board-specific */ | 653 | /* This might be board-specific */ |
| 650 | mx3fb_write_reg(mx3fb, 0x03000000UL | value << 16, SDC_PWM_CTRL); | 654 | mx3fb_write_reg(mx3fb, 0x03000000UL | value << 16, SDC_PWM_CTRL); |
| 651 | return; | 655 | return; |
| @@ -1486,12 +1490,12 @@ static int mx3fb_probe(struct platform_device *pdev) | |||
| 1486 | goto ersdc0; | 1490 | goto ersdc0; |
| 1487 | } | 1491 | } |
| 1488 | 1492 | ||
| 1493 | mx3fb->backlight_level = 255; | ||
| 1494 | |||
| 1489 | ret = init_fb_chan(mx3fb, to_idmac_chan(chan)); | 1495 | ret = init_fb_chan(mx3fb, to_idmac_chan(chan)); |
| 1490 | if (ret < 0) | 1496 | if (ret < 0) |
| 1491 | goto eisdc0; | 1497 | goto eisdc0; |
| 1492 | 1498 | ||
| 1493 | mx3fb->backlight_level = 255; | ||
| 1494 | |||
| 1495 | return 0; | 1499 | return 0; |
| 1496 | 1500 | ||
| 1497 | eisdc0: | 1501 | eisdc0: |
diff --git a/fs/fuse/file.c b/fs/fuse/file.c index c18913a777ae..a9f5e137f1d3 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c | |||
| @@ -828,6 +828,9 @@ static ssize_t fuse_fill_write_pages(struct fuse_req *req, | |||
| 828 | if (!page) | 828 | if (!page) |
| 829 | break; | 829 | break; |
| 830 | 830 | ||
| 831 | if (mapping_writably_mapped(mapping)) | ||
| 832 | flush_dcache_page(page); | ||
| 833 | |||
| 831 | pagefault_disable(); | 834 | pagefault_disable(); |
| 832 | tmp = iov_iter_copy_from_user_atomic(page, ii, offset, bytes); | 835 | tmp = iov_iter_copy_from_user_atomic(page, ii, offset, bytes); |
| 833 | pagefault_enable(); | 836 | pagefault_enable(); |
diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c index 17584c524486..105b508b47a8 100644 --- a/fs/nilfs2/segment.c +++ b/fs/nilfs2/segment.c | |||
| @@ -2829,7 +2829,7 @@ static void nilfs_segctor_destroy(struct nilfs_sc_info *sci) | |||
| 2829 | || sci->sc_seq_request != sci->sc_seq_done); | 2829 | || sci->sc_seq_request != sci->sc_seq_done); |
| 2830 | spin_unlock(&sci->sc_state_lock); | 2830 | spin_unlock(&sci->sc_state_lock); |
| 2831 | 2831 | ||
| 2832 | if (flag || nilfs_segctor_confirm(sci)) | 2832 | if (flag || !nilfs_segctor_confirm(sci)) |
| 2833 | nilfs_segctor_write_out(sci); | 2833 | nilfs_segctor_write_out(sci); |
| 2834 | 2834 | ||
| 2835 | WARN_ON(!list_empty(&sci->sc_copied_buffers)); | 2835 | WARN_ON(!list_empty(&sci->sc_copied_buffers)); |
diff --git a/include/linux/connector.h b/include/linux/connector.h index 72ba63eb83c5..3a779ffba60b 100644 --- a/include/linux/connector.h +++ b/include/linux/connector.h | |||
| @@ -24,9 +24,6 @@ | |||
| 24 | 24 | ||
| 25 | #include <linux/types.h> | 25 | #include <linux/types.h> |
| 26 | 26 | ||
| 27 | #define CN_IDX_CONNECTOR 0xffffffff | ||
| 28 | #define CN_VAL_CONNECTOR 0xffffffff | ||
| 29 | |||
| 30 | /* | 27 | /* |
| 31 | * Process Events connector unique ids -- used for message routing | 28 | * Process Events connector unique ids -- used for message routing |
| 32 | */ | 29 | */ |
| @@ -75,30 +72,6 @@ struct cn_msg { | |||
| 75 | __u8 data[0]; | 72 | __u8 data[0]; |
| 76 | }; | 73 | }; |
| 77 | 74 | ||
| 78 | /* | ||
| 79 | * Notify structure - requests notification about | ||
| 80 | * registering/unregistering idx/val in range [first, first+range]. | ||
| 81 | */ | ||
| 82 | struct cn_notify_req { | ||
| 83 | __u32 first; | ||
| 84 | __u32 range; | ||
| 85 | }; | ||
| 86 | |||
| 87 | /* | ||
| 88 | * Main notification control message | ||
| 89 | * *_notify_num - number of appropriate cn_notify_req structures after | ||
| 90 | * this struct. | ||
| 91 | * group - notification receiver's idx. | ||
| 92 | * len - total length of the attached data. | ||
| 93 | */ | ||
| 94 | struct cn_ctl_msg { | ||
| 95 | __u32 idx_notify_num; | ||
| 96 | __u32 val_notify_num; | ||
| 97 | __u32 group; | ||
| 98 | __u32 len; | ||
| 99 | __u8 data[0]; | ||
| 100 | }; | ||
| 101 | |||
| 102 | #ifdef __KERNEL__ | 75 | #ifdef __KERNEL__ |
| 103 | 76 | ||
| 104 | #include <asm/atomic.h> | 77 | #include <asm/atomic.h> |
| @@ -151,11 +124,6 @@ struct cn_callback_entry { | |||
| 151 | u32 seq, group; | 124 | u32 seq, group; |
| 152 | }; | 125 | }; |
| 153 | 126 | ||
| 154 | struct cn_ctl_entry { | ||
| 155 | struct list_head notify_entry; | ||
| 156 | struct cn_ctl_msg *msg; | ||
| 157 | }; | ||
| 158 | |||
| 159 | struct cn_dev { | 127 | struct cn_dev { |
| 160 | struct cb_id id; | 128 | struct cb_id id; |
| 161 | 129 | ||
diff --git a/kernel/cgroup.c b/kernel/cgroup.c index 1fbcc748044a..aa3bee566446 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c | |||
| @@ -2936,14 +2936,17 @@ static long cgroup_create(struct cgroup *parent, struct dentry *dentry, | |||
| 2936 | 2936 | ||
| 2937 | for_each_subsys(root, ss) { | 2937 | for_each_subsys(root, ss) { |
| 2938 | struct cgroup_subsys_state *css = ss->create(ss, cgrp); | 2938 | struct cgroup_subsys_state *css = ss->create(ss, cgrp); |
| 2939 | |||
| 2939 | if (IS_ERR(css)) { | 2940 | if (IS_ERR(css)) { |
| 2940 | err = PTR_ERR(css); | 2941 | err = PTR_ERR(css); |
| 2941 | goto err_destroy; | 2942 | goto err_destroy; |
| 2942 | } | 2943 | } |
| 2943 | init_cgroup_css(css, ss, cgrp); | 2944 | init_cgroup_css(css, ss, cgrp); |
| 2944 | if (ss->use_id) | 2945 | if (ss->use_id) { |
| 2945 | if (alloc_css_id(ss, parent, cgrp)) | 2946 | err = alloc_css_id(ss, parent, cgrp); |
| 2947 | if (err) | ||
| 2946 | goto err_destroy; | 2948 | goto err_destroy; |
| 2949 | } | ||
| 2947 | /* At error, ->destroy() callback has to free assigned ID. */ | 2950 | /* At error, ->destroy() callback has to free assigned ID. */ |
| 2948 | } | 2951 | } |
| 2949 | 2952 | ||
diff --git a/kernel/cred.c b/kernel/cred.c index dd76cfe5f5b0..1ed8ca18790c 100644 --- a/kernel/cred.c +++ b/kernel/cred.c | |||
| @@ -224,7 +224,7 @@ struct cred *cred_alloc_blank(void) | |||
| 224 | #ifdef CONFIG_KEYS | 224 | #ifdef CONFIG_KEYS |
| 225 | new->tgcred = kzalloc(sizeof(*new->tgcred), GFP_KERNEL); | 225 | new->tgcred = kzalloc(sizeof(*new->tgcred), GFP_KERNEL); |
| 226 | if (!new->tgcred) { | 226 | if (!new->tgcred) { |
| 227 | kfree(new); | 227 | kmem_cache_free(cred_jar, new); |
| 228 | return NULL; | 228 | return NULL; |
| 229 | } | 229 | } |
| 230 | atomic_set(&new->tgcred->usage, 1); | 230 | atomic_set(&new->tgcred->usage, 1); |
diff --git a/kernel/kfifo.c b/kernel/kfifo.c index 32c5c15d750d..498cabba225e 100644 --- a/kernel/kfifo.c +++ b/kernel/kfifo.c | |||
| @@ -349,6 +349,7 @@ EXPORT_SYMBOL(__kfifo_from_user_n); | |||
| 349 | * @fifo: the fifo to be used. | 349 | * @fifo: the fifo to be used. |
| 350 | * @from: pointer to the data to be added. | 350 | * @from: pointer to the data to be added. |
| 351 | * @len: the length of the data to be added. | 351 | * @len: the length of the data to be added. |
| 352 | * @total: the actual returned data length. | ||
| 352 | * | 353 | * |
| 353 | * This function copies at most @len bytes from the @from into the | 354 | * This function copies at most @len bytes from the @from into the |
| 354 | * FIFO depending and returns -EFAULT/0. | 355 | * FIFO depending and returns -EFAULT/0. |
| @@ -399,7 +400,7 @@ EXPORT_SYMBOL(__kfifo_to_user_n); | |||
| 399 | * @fifo: the fifo to be used. | 400 | * @fifo: the fifo to be used. |
| 400 | * @to: where the data must be copied. | 401 | * @to: where the data must be copied. |
| 401 | * @len: the size of the destination buffer. | 402 | * @len: the size of the destination buffer. |
| 402 | @ @lenout: pointer to output variable with copied data | 403 | * @lenout: pointer to output variable with copied data |
| 403 | * | 404 | * |
| 404 | * This function copies at most @len bytes from the FIFO into the | 405 | * This function copies at most @len bytes from the FIFO into the |
| 405 | * @to buffer and 0 or -EFAULT. | 406 | * @to buffer and 0 or -EFAULT. |
diff --git a/mm/filemap.c b/mm/filemap.c index e3736923220e..698ea80f2102 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
| @@ -2232,6 +2232,9 @@ again: | |||
| 2232 | if (unlikely(status)) | 2232 | if (unlikely(status)) |
| 2233 | break; | 2233 | break; |
| 2234 | 2234 | ||
| 2235 | if (mapping_writably_mapped(mapping)) | ||
| 2236 | flush_dcache_page(page); | ||
| 2237 | |||
| 2235 | pagefault_disable(); | 2238 | pagefault_disable(); |
| 2236 | copied = iov_iter_copy_from_user_atomic(page, i, offset, bytes); | 2239 | copied = iov_iter_copy_from_user_atomic(page, i, offset, bytes); |
| 2237 | pagefault_enable(); | 2240 | pagefault_enable(); |
diff --git a/mm/hugetlb.c b/mm/hugetlb.c index e91b81b63670..2d16fa6b8c2d 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c | |||
| @@ -1515,10 +1515,9 @@ static struct attribute_group hstate_attr_group = { | |||
| 1515 | .attrs = hstate_attrs, | 1515 | .attrs = hstate_attrs, |
| 1516 | }; | 1516 | }; |
| 1517 | 1517 | ||
| 1518 | static int __init hugetlb_sysfs_add_hstate(struct hstate *h, | 1518 | static int hugetlb_sysfs_add_hstate(struct hstate *h, struct kobject *parent, |
| 1519 | struct kobject *parent, | 1519 | struct kobject **hstate_kobjs, |
| 1520 | struct kobject **hstate_kobjs, | 1520 | struct attribute_group *hstate_attr_group) |
| 1521 | struct attribute_group *hstate_attr_group) | ||
| 1522 | { | 1521 | { |
| 1523 | int retval; | 1522 | int retval; |
| 1524 | int hi = h - hstates; | 1523 | int hi = h - hstates; |
diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c index 18e7f5a43dc4..6cf526d06e21 100644 --- a/net/bluetooth/hidp/core.c +++ b/net/bluetooth/hidp/core.c | |||
| @@ -243,6 +243,39 @@ static void hidp_input_report(struct hidp_session *session, struct sk_buff *skb) | |||
| 243 | input_sync(dev); | 243 | input_sync(dev); |
| 244 | } | 244 | } |
| 245 | 245 | ||
| 246 | static int __hidp_send_ctrl_message(struct hidp_session *session, | ||
| 247 | unsigned char hdr, unsigned char *data, int size) | ||
| 248 | { | ||
| 249 | struct sk_buff *skb; | ||
| 250 | |||
| 251 | BT_DBG("session %p data %p size %d", session, data, size); | ||
| 252 | |||
| 253 | if (!(skb = alloc_skb(size + 1, GFP_ATOMIC))) { | ||
| 254 | BT_ERR("Can't allocate memory for new frame"); | ||
| 255 | return -ENOMEM; | ||
| 256 | } | ||
| 257 | |||
| 258 | *skb_put(skb, 1) = hdr; | ||
| 259 | if (data && size > 0) | ||
| 260 | memcpy(skb_put(skb, size), data, size); | ||
| 261 | |||
| 262 | skb_queue_tail(&session->ctrl_transmit, skb); | ||
| 263 | |||
| 264 | return 0; | ||
| 265 | } | ||
| 266 | |||
| 267 | static inline int hidp_send_ctrl_message(struct hidp_session *session, | ||
| 268 | unsigned char hdr, unsigned char *data, int size) | ||
| 269 | { | ||
| 270 | int err; | ||
| 271 | |||
| 272 | err = __hidp_send_ctrl_message(session, hdr, data, size); | ||
| 273 | |||
| 274 | hidp_schedule(session); | ||
| 275 | |||
| 276 | return err; | ||
| 277 | } | ||
| 278 | |||
| 246 | static int hidp_queue_report(struct hidp_session *session, | 279 | static int hidp_queue_report(struct hidp_session *session, |
| 247 | unsigned char *data, int size) | 280 | unsigned char *data, int size) |
| 248 | { | 281 | { |
| @@ -282,7 +315,9 @@ static int hidp_send_report(struct hidp_session *session, struct hid_report *rep | |||
| 282 | 315 | ||
| 283 | static int hidp_output_raw_report(struct hid_device *hid, unsigned char *data, size_t count) | 316 | static int hidp_output_raw_report(struct hid_device *hid, unsigned char *data, size_t count) |
| 284 | { | 317 | { |
| 285 | if (hidp_queue_report(hid->driver_data, data, count)) | 318 | if (hidp_send_ctrl_message(hid->driver_data, |
| 319 | HIDP_TRANS_SET_REPORT | HIDP_DATA_RTYPE_FEATURE, | ||
| 320 | data, count)) | ||
| 286 | return -ENOMEM; | 321 | return -ENOMEM; |
| 287 | return count; | 322 | return count; |
| 288 | } | 323 | } |
| @@ -307,39 +342,6 @@ static inline void hidp_del_timer(struct hidp_session *session) | |||
| 307 | del_timer(&session->timer); | 342 | del_timer(&session->timer); |
| 308 | } | 343 | } |
| 309 | 344 | ||
| 310 | static int __hidp_send_ctrl_message(struct hidp_session *session, | ||
| 311 | unsigned char hdr, unsigned char *data, int size) | ||
| 312 | { | ||
| 313 | struct sk_buff *skb; | ||
| 314 | |||
| 315 | BT_DBG("session %p data %p size %d", session, data, size); | ||
| 316 | |||
| 317 | if (!(skb = alloc_skb(size + 1, GFP_ATOMIC))) { | ||
| 318 | BT_ERR("Can't allocate memory for new frame"); | ||
| 319 | return -ENOMEM; | ||
| 320 | } | ||
| 321 | |||
| 322 | *skb_put(skb, 1) = hdr; | ||
| 323 | if (data && size > 0) | ||
| 324 | memcpy(skb_put(skb, size), data, size); | ||
| 325 | |||
| 326 | skb_queue_tail(&session->ctrl_transmit, skb); | ||
| 327 | |||
| 328 | return 0; | ||
| 329 | } | ||
| 330 | |||
| 331 | static inline int hidp_send_ctrl_message(struct hidp_session *session, | ||
| 332 | unsigned char hdr, unsigned char *data, int size) | ||
| 333 | { | ||
| 334 | int err; | ||
| 335 | |||
| 336 | err = __hidp_send_ctrl_message(session, hdr, data, size); | ||
| 337 | |||
| 338 | hidp_schedule(session); | ||
| 339 | |||
| 340 | return err; | ||
| 341 | } | ||
| 342 | |||
| 343 | static void hidp_process_handshake(struct hidp_session *session, | 345 | static void hidp_process_handshake(struct hidp_session *session, |
| 344 | unsigned char param) | 346 | unsigned char param) |
| 345 | { | 347 | { |
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c index 1120cf14a548..400efa26ddba 100644 --- a/net/bluetooth/l2cap.c +++ b/net/bluetooth/l2cap.c | |||
| @@ -1368,7 +1368,6 @@ static int l2cap_ertm_send(struct sock *sk) | |||
| 1368 | 1368 | ||
| 1369 | while ((skb = sk->sk_send_head) && (!l2cap_tx_window_full(sk)) && | 1369 | while ((skb = sk->sk_send_head) && (!l2cap_tx_window_full(sk)) && |
| 1370 | !(pi->conn_state & L2CAP_CONN_REMOTE_BUSY)) { | 1370 | !(pi->conn_state & L2CAP_CONN_REMOTE_BUSY)) { |
| 1371 | tx_skb = skb_clone(skb, GFP_ATOMIC); | ||
| 1372 | 1371 | ||
| 1373 | if (pi->remote_max_tx && | 1372 | if (pi->remote_max_tx && |
| 1374 | bt_cb(skb)->retries == pi->remote_max_tx) { | 1373 | bt_cb(skb)->retries == pi->remote_max_tx) { |
| @@ -1376,6 +1375,8 @@ static int l2cap_ertm_send(struct sock *sk) | |||
| 1376 | break; | 1375 | break; |
| 1377 | } | 1376 | } |
| 1378 | 1377 | ||
| 1378 | tx_skb = skb_clone(skb, GFP_ATOMIC); | ||
| 1379 | |||
| 1379 | bt_cb(skb)->retries++; | 1380 | bt_cb(skb)->retries++; |
| 1380 | 1381 | ||
| 1381 | control = get_unaligned_le16(tx_skb->data + L2CAP_HDR_SIZE); | 1382 | control = get_unaligned_le16(tx_skb->data + L2CAP_HDR_SIZE); |
| @@ -3518,7 +3519,6 @@ static inline int l2cap_data_channel(struct l2cap_conn *conn, u16 cid, struct sk | |||
| 3518 | struct l2cap_pinfo *pi; | 3519 | struct l2cap_pinfo *pi; |
| 3519 | u16 control, len; | 3520 | u16 control, len; |
| 3520 | u8 tx_seq; | 3521 | u8 tx_seq; |
| 3521 | int err; | ||
| 3522 | 3522 | ||
| 3523 | sk = l2cap_get_chan_by_scid(&conn->chan_list, cid); | 3523 | sk = l2cap_get_chan_by_scid(&conn->chan_list, cid); |
| 3524 | if (!sk) { | 3524 | if (!sk) { |
| @@ -3570,13 +3570,11 @@ static inline int l2cap_data_channel(struct l2cap_conn *conn, u16 cid, struct sk | |||
| 3570 | goto drop; | 3570 | goto drop; |
| 3571 | 3571 | ||
| 3572 | if (__is_iframe(control)) | 3572 | if (__is_iframe(control)) |
| 3573 | err = l2cap_data_channel_iframe(sk, control, skb); | 3573 | l2cap_data_channel_iframe(sk, control, skb); |
| 3574 | else | 3574 | else |
| 3575 | err = l2cap_data_channel_sframe(sk, control, skb); | 3575 | l2cap_data_channel_sframe(sk, control, skb); |
| 3576 | 3576 | ||
| 3577 | if (!err) | 3577 | goto done; |
| 3578 | goto done; | ||
| 3579 | break; | ||
| 3580 | 3578 | ||
| 3581 | case L2CAP_MODE_STREAMING: | 3579 | case L2CAP_MODE_STREAMING: |
| 3582 | control = get_unaligned_le16(skb->data); | 3580 | control = get_unaligned_le16(skb->data); |
| @@ -3602,7 +3600,7 @@ static inline int l2cap_data_channel(struct l2cap_conn *conn, u16 cid, struct sk | |||
| 3602 | else | 3600 | else |
| 3603 | pi->expected_tx_seq = tx_seq + 1; | 3601 | pi->expected_tx_seq = tx_seq + 1; |
| 3604 | 3602 | ||
| 3605 | err = l2cap_sar_reassembly_sdu(sk, skb, control); | 3603 | l2cap_sar_reassembly_sdu(sk, skb, control); |
| 3606 | 3604 | ||
| 3607 | goto done; | 3605 | goto done; |
| 3608 | 3606 | ||
diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c index 312c20adc83f..624a54832a7c 100644 --- a/net/ipv6/netfilter/nf_conntrack_reasm.c +++ b/net/ipv6/netfilter/nf_conntrack_reasm.c | |||
| @@ -63,6 +63,7 @@ struct nf_ct_frag6_queue | |||
| 63 | struct inet_frag_queue q; | 63 | struct inet_frag_queue q; |
| 64 | 64 | ||
| 65 | __be32 id; /* fragment id */ | 65 | __be32 id; /* fragment id */ |
| 66 | u32 user; | ||
| 66 | struct in6_addr saddr; | 67 | struct in6_addr saddr; |
| 67 | struct in6_addr daddr; | 68 | struct in6_addr daddr; |
| 68 | 69 | ||
diff --git a/net/mac80211/driver-trace.h b/net/mac80211/driver-trace.h index ee94ea0c67e9..da8497ef7063 100644 --- a/net/mac80211/driver-trace.h +++ b/net/mac80211/driver-trace.h | |||
| @@ -680,7 +680,7 @@ TRACE_EVENT(drv_ampdu_action, | |||
| 680 | __entry->ret = ret; | 680 | __entry->ret = ret; |
| 681 | __entry->action = action; | 681 | __entry->action = action; |
| 682 | __entry->tid = tid; | 682 | __entry->tid = tid; |
| 683 | __entry->ssn = *ssn; | 683 | __entry->ssn = ssn ? *ssn : 0; |
| 684 | ), | 684 | ), |
| 685 | 685 | ||
| 686 | TP_printk( | 686 | TP_printk( |
diff --git a/net/netfilter/nf_conntrack_netlink.c b/net/netfilter/nf_conntrack_netlink.c index 59d8064eb522..42f21c01a93e 100644 --- a/net/netfilter/nf_conntrack_netlink.c +++ b/net/netfilter/nf_conntrack_netlink.c | |||
| @@ -1437,8 +1437,9 @@ ctnetlink_exp_dump_mask(struct sk_buff *skb, | |||
| 1437 | struct nlattr *nest_parms; | 1437 | struct nlattr *nest_parms; |
| 1438 | 1438 | ||
| 1439 | memset(&m, 0xFF, sizeof(m)); | 1439 | memset(&m, 0xFF, sizeof(m)); |
| 1440 | m.src.u.all = mask->src.u.all; | ||
| 1441 | memcpy(&m.src.u3, &mask->src.u3, sizeof(m.src.u3)); | 1440 | memcpy(&m.src.u3, &mask->src.u3, sizeof(m.src.u3)); |
| 1441 | m.src.u.all = mask->src.u.all; | ||
| 1442 | m.dst.protonum = tuple->dst.protonum; | ||
| 1442 | 1443 | ||
| 1443 | nest_parms = nla_nest_start(skb, CTA_EXPECT_MASK | NLA_F_NESTED); | 1444 | nest_parms = nla_nest_start(skb, CTA_EXPECT_MASK | NLA_F_NESTED); |
| 1444 | if (!nest_parms) | 1445 | if (!nest_parms) |
diff --git a/net/netfilter/nf_conntrack_sip.c b/net/netfilter/nf_conntrack_sip.c index 4b572163784b..023966b569bf 100644 --- a/net/netfilter/nf_conntrack_sip.c +++ b/net/netfilter/nf_conntrack_sip.c | |||
| @@ -376,7 +376,7 @@ int ct_sip_get_header(const struct nf_conn *ct, const char *dptr, | |||
| 376 | dptr += hdr->len; | 376 | dptr += hdr->len; |
| 377 | else if (hdr->cname && limit - dptr >= hdr->clen + 1 && | 377 | else if (hdr->cname && limit - dptr >= hdr->clen + 1 && |
| 378 | strnicmp(dptr, hdr->cname, hdr->clen) == 0 && | 378 | strnicmp(dptr, hdr->cname, hdr->clen) == 0 && |
| 379 | !isalpha(*(dptr + hdr->clen + 1))) | 379 | !isalpha(*(dptr + hdr->clen))) |
| 380 | dptr += hdr->clen; | 380 | dptr += hdr->clen; |
| 381 | else | 381 | else |
| 382 | continue; | 382 | continue; |
diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl index 090f24839700..2f3230db7ffb 100755 --- a/scripts/get_maintainer.pl +++ b/scripts/get_maintainer.pl | |||
| @@ -74,8 +74,8 @@ my %VCS_cmds; | |||
| 74 | my %VCS_cmds_git = ( | 74 | my %VCS_cmds_git = ( |
| 75 | "execute_cmd" => \&git_execute_cmd, | 75 | "execute_cmd" => \&git_execute_cmd, |
| 76 | "available" => '(which("git") ne "") && (-d ".git")', | 76 | "available" => '(which("git") ne "") && (-d ".git")', |
| 77 | "find_signers_cmd" => "git log --since=\$email_git_since -- \$file", | 77 | "find_signers_cmd" => "git log --no-color --since=\$email_git_since -- \$file", |
| 78 | "find_commit_signers_cmd" => "git log -1 \$commit", | 78 | "find_commit_signers_cmd" => "git log --no-color -1 \$commit", |
| 79 | "blame_range_cmd" => "git blame -l -L \$diff_start,+\$diff_length \$file", | 79 | "blame_range_cmd" => "git blame -l -L \$diff_start,+\$diff_length \$file", |
| 80 | "blame_file_cmd" => "git blame -l \$file", | 80 | "blame_file_cmd" => "git blame -l \$file", |
| 81 | "commit_pattern" => "^commit [0-9a-f]{40,40}", | 81 | "commit_pattern" => "^commit [0-9a-f]{40,40}", |
diff --git a/scripts/markup_oops.pl b/scripts/markup_oops.pl index ce3e40b01e48..e950f9cde019 100644 --- a/scripts/markup_oops.pl +++ b/scripts/markup_oops.pl | |||
| @@ -158,7 +158,7 @@ while (<STDIN>) { | |||
| 158 | $function = $1; | 158 | $function = $1; |
| 159 | $func_offset = $2; | 159 | $func_offset = $2; |
| 160 | } | 160 | } |
| 161 | if ($line =~ /RIP: 0010:\[\<[0-9a-f]+\>\] \[\<[0-9a-f]+\>\] ([a-zA-Z0-9\_]+)\+(0x[0-9a-f]+)\/0x[a-f0-9]/) { | 161 | if ($line =~ /RIP: 0010:\[\<[0-9a-f]+\>\] \[\<[0-9a-f]+\>\] ([a-zA-Z0-9\_]+)\+0x([0-9a-f]+)\/0x[a-f0-9]/) { |
| 162 | $function = $1; | 162 | $function = $1; |
| 163 | $func_offset = $2; | 163 | $func_offset = $2; |
| 164 | } | 164 | } |
