diff options
31 files changed, 394 insertions, 123 deletions
diff --git a/arch/sparc/kernel/head.S b/arch/sparc/kernel/head.S index 2fe2c117e772..2d325fd84579 100644 --- a/arch/sparc/kernel/head.S +++ b/arch/sparc/kernel/head.S | |||
@@ -465,7 +465,6 @@ gokernel: | |||
465 | mov %o7, %g4 ! Save %o7 | 465 | mov %o7, %g4 ! Save %o7 |
466 | 466 | ||
467 | /* Jump to it, and pray... */ | 467 | /* Jump to it, and pray... */ |
468 | __INIT | ||
469 | current_pc: | 468 | current_pc: |
470 | call 1f | 469 | call 1f |
471 | nop | 470 | nop |
diff --git a/arch/sparc64/defconfig b/arch/sparc64/defconfig index 82cab5cc8070..05d19a3e590f 100644 --- a/arch/sparc64/defconfig +++ b/arch/sparc64/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.26 | 3 | # Linux kernel version: 2.6.28-rc4 |
4 | # Fri Jul 18 00:47:07 2008 | 4 | # Mon Nov 10 12:35:09 2008 |
5 | # | 5 | # |
6 | CONFIG_SPARC=y | 6 | CONFIG_SPARC=y |
7 | CONFIG_SPARC64=y | 7 | CONFIG_SPARC64=y |
@@ -62,7 +62,6 @@ CONFIG_SYSCTL=y | |||
62 | # CONFIG_EMBEDDED is not set | 62 | # CONFIG_EMBEDDED is not set |
63 | CONFIG_UID16=y | 63 | CONFIG_UID16=y |
64 | CONFIG_SYSCTL_SYSCALL=y | 64 | CONFIG_SYSCTL_SYSCALL=y |
65 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
66 | CONFIG_KALLSYMS=y | 65 | CONFIG_KALLSYMS=y |
67 | # CONFIG_KALLSYMS_ALL is not set | 66 | # CONFIG_KALLSYMS_ALL is not set |
68 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 67 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
@@ -79,7 +78,9 @@ CONFIG_SIGNALFD=y | |||
79 | CONFIG_TIMERFD=y | 78 | CONFIG_TIMERFD=y |
80 | CONFIG_EVENTFD=y | 79 | CONFIG_EVENTFD=y |
81 | CONFIG_SHMEM=y | 80 | CONFIG_SHMEM=y |
81 | CONFIG_AIO=y | ||
82 | CONFIG_VM_EVENT_COUNTERS=y | 82 | CONFIG_VM_EVENT_COUNTERS=y |
83 | CONFIG_PCI_QUIRKS=y | ||
83 | CONFIG_SLUB_DEBUG=y | 84 | CONFIG_SLUB_DEBUG=y |
84 | # CONFIG_SLAB is not set | 85 | # CONFIG_SLAB is not set |
85 | CONFIG_SLUB=y | 86 | CONFIG_SLUB=y |
@@ -92,9 +93,9 @@ CONFIG_KPROBES=y | |||
92 | CONFIG_KRETPROBES=y | 93 | CONFIG_KRETPROBES=y |
93 | CONFIG_HAVE_KPROBES=y | 94 | CONFIG_HAVE_KPROBES=y |
94 | CONFIG_HAVE_KRETPROBES=y | 95 | CONFIG_HAVE_KRETPROBES=y |
95 | # CONFIG_HAVE_DMA_ATTRS is not set | 96 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
96 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 97 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
97 | CONFIG_PROC_PAGE_MONITOR=y | 98 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set |
98 | CONFIG_SLABINFO=y | 99 | CONFIG_SLABINFO=y |
99 | CONFIG_RT_MUTEXES=y | 100 | CONFIG_RT_MUTEXES=y |
100 | # CONFIG_TINY_SHMEM is not set | 101 | # CONFIG_TINY_SHMEM is not set |
@@ -126,6 +127,7 @@ CONFIG_DEFAULT_AS=y | |||
126 | # CONFIG_DEFAULT_NOOP is not set | 127 | # CONFIG_DEFAULT_NOOP is not set |
127 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 128 | CONFIG_DEFAULT_IOSCHED="anticipatory" |
128 | CONFIG_CLASSIC_RCU=y | 129 | CONFIG_CLASSIC_RCU=y |
130 | # CONFIG_FREEZER is not set | ||
129 | 131 | ||
130 | # | 132 | # |
131 | # Processor type and features | 133 | # Processor type and features |
@@ -138,7 +140,7 @@ CONFIG_HZ_100=y | |||
138 | # CONFIG_HZ_300 is not set | 140 | # CONFIG_HZ_300 is not set |
139 | # CONFIG_HZ_1000 is not set | 141 | # CONFIG_HZ_1000 is not set |
140 | CONFIG_HZ=100 | 142 | CONFIG_HZ=100 |
141 | # CONFIG_SCHED_HRTICK is not set | 143 | CONFIG_SCHED_HRTICK=y |
142 | CONFIG_HOTPLUG_CPU=y | 144 | CONFIG_HOTPLUG_CPU=y |
143 | CONFIG_GENERIC_HARDIRQS=y | 145 | CONFIG_GENERIC_HARDIRQS=y |
144 | CONFIG_TICK_ONESHOT=y | 146 | CONFIG_TICK_ONESHOT=y |
@@ -148,6 +150,7 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | |||
148 | CONFIG_SMP=y | 150 | CONFIG_SMP=y |
149 | CONFIG_NR_CPUS=64 | 151 | CONFIG_NR_CPUS=64 |
150 | # CONFIG_CPU_FREQ is not set | 152 | # CONFIG_CPU_FREQ is not set |
153 | CONFIG_US3_MC=y | ||
151 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 154 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y |
152 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 155 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
153 | CONFIG_GENERIC_HWEIGHT=y | 156 | CONFIG_GENERIC_HWEIGHT=y |
@@ -169,7 +172,6 @@ CONFIG_SPARSEMEM_MANUAL=y | |||
169 | CONFIG_SPARSEMEM=y | 172 | CONFIG_SPARSEMEM=y |
170 | CONFIG_NEED_MULTIPLE_NODES=y | 173 | CONFIG_NEED_MULTIPLE_NODES=y |
171 | CONFIG_HAVE_MEMORY_PRESENT=y | 174 | CONFIG_HAVE_MEMORY_PRESENT=y |
172 | # CONFIG_SPARSEMEM_STATIC is not set | ||
173 | CONFIG_SPARSEMEM_EXTREME=y | 175 | CONFIG_SPARSEMEM_EXTREME=y |
174 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y | 176 | CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y |
175 | CONFIG_SPARSEMEM_VMEMMAP=y | 177 | CONFIG_SPARSEMEM_VMEMMAP=y |
@@ -177,8 +179,10 @@ CONFIG_PAGEFLAGS_EXTENDED=y | |||
177 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 179 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
178 | CONFIG_MIGRATION=y | 180 | CONFIG_MIGRATION=y |
179 | CONFIG_RESOURCES_64BIT=y | 181 | CONFIG_RESOURCES_64BIT=y |
182 | CONFIG_PHYS_ADDR_T_64BIT=y | ||
180 | CONFIG_ZONE_DMA_FLAG=0 | 183 | CONFIG_ZONE_DMA_FLAG=0 |
181 | CONFIG_NR_QUICK=1 | 184 | CONFIG_NR_QUICK=1 |
185 | CONFIG_UNEVICTABLE_LRU=y | ||
182 | CONFIG_SBUS=y | 186 | CONFIG_SBUS=y |
183 | CONFIG_SBUSCHAR=y | 187 | CONFIG_SBUSCHAR=y |
184 | CONFIG_SUN_AUXIO=y | 188 | CONFIG_SUN_AUXIO=y |
@@ -198,6 +202,8 @@ CONFIG_SUN_OPENPROMFS=m | |||
198 | # | 202 | # |
199 | CONFIG_BINFMT_ELF=y | 203 | CONFIG_BINFMT_ELF=y |
200 | CONFIG_COMPAT_BINFMT_ELF=y | 204 | CONFIG_COMPAT_BINFMT_ELF=y |
205 | # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set | ||
206 | # CONFIG_HAVE_AOUT is not set | ||
201 | CONFIG_BINFMT_MISC=m | 207 | CONFIG_BINFMT_MISC=m |
202 | CONFIG_COMPAT=y | 208 | CONFIG_COMPAT=y |
203 | CONFIG_SYSVIPC_COMPAT=y | 209 | CONFIG_SYSVIPC_COMPAT=y |
@@ -207,10 +213,6 @@ CONFIG_SCHED_MC=y | |||
207 | CONFIG_PREEMPT_VOLUNTARY=y | 213 | CONFIG_PREEMPT_VOLUNTARY=y |
208 | # CONFIG_PREEMPT is not set | 214 | # CONFIG_PREEMPT is not set |
209 | # CONFIG_CMDLINE_BOOL is not set | 215 | # CONFIG_CMDLINE_BOOL is not set |
210 | |||
211 | # | ||
212 | # Networking | ||
213 | # | ||
214 | CONFIG_NET=y | 216 | CONFIG_NET=y |
215 | 217 | ||
216 | # | 218 | # |
@@ -224,6 +226,7 @@ CONFIG_XFRM_USER=m | |||
224 | # CONFIG_XFRM_SUB_POLICY is not set | 226 | # CONFIG_XFRM_SUB_POLICY is not set |
225 | CONFIG_XFRM_MIGRATE=y | 227 | CONFIG_XFRM_MIGRATE=y |
226 | # CONFIG_XFRM_STATISTICS is not set | 228 | # CONFIG_XFRM_STATISTICS is not set |
229 | CONFIG_XFRM_IPCOMP=y | ||
227 | CONFIG_NET_KEY=m | 230 | CONFIG_NET_KEY=m |
228 | CONFIG_NET_KEY_MIGRATE=y | 231 | CONFIG_NET_KEY_MIGRATE=y |
229 | CONFIG_INET=y | 232 | CONFIG_INET=y |
@@ -299,7 +302,9 @@ CONFIG_IP_DCCP_TFRC_LIB=m | |||
299 | # CONFIG_TIPC is not set | 302 | # CONFIG_TIPC is not set |
300 | # CONFIG_ATM is not set | 303 | # CONFIG_ATM is not set |
301 | # CONFIG_BRIDGE is not set | 304 | # CONFIG_BRIDGE is not set |
305 | # CONFIG_NET_DSA is not set | ||
302 | CONFIG_VLAN_8021Q=m | 306 | CONFIG_VLAN_8021Q=m |
307 | # CONFIG_VLAN_8021Q_GVRP is not set | ||
303 | # CONFIG_DECNET is not set | 308 | # CONFIG_DECNET is not set |
304 | # CONFIG_LLC2 is not set | 309 | # CONFIG_LLC2 is not set |
305 | # CONFIG_IPX is not set | 310 | # CONFIG_IPX is not set |
@@ -320,11 +325,10 @@ CONFIG_NET_TCPPROBE=m | |||
320 | # CONFIG_IRDA is not set | 325 | # CONFIG_IRDA is not set |
321 | # CONFIG_BT is not set | 326 | # CONFIG_BT is not set |
322 | # CONFIG_AF_RXRPC is not set | 327 | # CONFIG_AF_RXRPC is not set |
323 | 328 | # CONFIG_PHONET is not set | |
324 | # | 329 | CONFIG_WIRELESS=y |
325 | # Wireless | ||
326 | # | ||
327 | # CONFIG_CFG80211 is not set | 330 | # CONFIG_CFG80211 is not set |
331 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
328 | # CONFIG_WIRELESS_EXT is not set | 332 | # CONFIG_WIRELESS_EXT is not set |
329 | # CONFIG_MAC80211 is not set | 333 | # CONFIG_MAC80211 is not set |
330 | # CONFIG_IEEE80211 is not set | 334 | # CONFIG_IEEE80211 is not set |
@@ -375,21 +379,21 @@ CONFIG_MISC_DEVICES=y | |||
375 | # CONFIG_SGI_IOC4 is not set | 379 | # CONFIG_SGI_IOC4 is not set |
376 | # CONFIG_TIFM_CORE is not set | 380 | # CONFIG_TIFM_CORE is not set |
377 | # CONFIG_ENCLOSURE_SERVICES is not set | 381 | # CONFIG_ENCLOSURE_SERVICES is not set |
382 | # CONFIG_HP_ILO is not set | ||
378 | CONFIG_HAVE_IDE=y | 383 | CONFIG_HAVE_IDE=y |
379 | CONFIG_IDE=y | 384 | CONFIG_IDE=y |
380 | CONFIG_BLK_DEV_IDE=y | ||
381 | 385 | ||
382 | # | 386 | # |
383 | # Please see Documentation/ide/ide.txt for help/info on IDE drives | 387 | # Please see Documentation/ide/ide.txt for help/info on IDE drives |
384 | # | 388 | # |
385 | CONFIG_IDE_TIMINGS=y | 389 | CONFIG_IDE_TIMINGS=y |
386 | # CONFIG_BLK_DEV_IDE_SATA is not set | 390 | # CONFIG_BLK_DEV_IDE_SATA is not set |
387 | CONFIG_BLK_DEV_IDEDISK=y | 391 | CONFIG_IDE_GD=y |
388 | # CONFIG_IDEDISK_MULTI_MODE is not set | 392 | CONFIG_IDE_GD_ATA=y |
393 | # CONFIG_IDE_GD_ATAPI is not set | ||
389 | CONFIG_BLK_DEV_IDECD=y | 394 | CONFIG_BLK_DEV_IDECD=y |
390 | CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y | 395 | CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y |
391 | # CONFIG_BLK_DEV_IDETAPE is not set | 396 | # CONFIG_BLK_DEV_IDETAPE is not set |
392 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
393 | # CONFIG_BLK_DEV_IDESCSI is not set | 397 | # CONFIG_BLK_DEV_IDESCSI is not set |
394 | # CONFIG_IDE_TASK_IOCTL is not set | 398 | # CONFIG_IDE_TASK_IOCTL is not set |
395 | CONFIG_IDE_PROC_FS=y | 399 | CONFIG_IDE_PROC_FS=y |
@@ -413,10 +417,8 @@ CONFIG_BLK_DEV_ALI15X3=y | |||
413 | # CONFIG_BLK_DEV_AMD74XX is not set | 417 | # CONFIG_BLK_DEV_AMD74XX is not set |
414 | # CONFIG_BLK_DEV_CMD64X is not set | 418 | # CONFIG_BLK_DEV_CMD64X is not set |
415 | # CONFIG_BLK_DEV_TRIFLEX is not set | 419 | # CONFIG_BLK_DEV_TRIFLEX is not set |
416 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
417 | # CONFIG_BLK_DEV_CS5520 is not set | 420 | # CONFIG_BLK_DEV_CS5520 is not set |
418 | # CONFIG_BLK_DEV_CS5530 is not set | 421 | # CONFIG_BLK_DEV_CS5530 is not set |
419 | # CONFIG_BLK_DEV_HPT34X is not set | ||
420 | # CONFIG_BLK_DEV_HPT366 is not set | 422 | # CONFIG_BLK_DEV_HPT366 is not set |
421 | # CONFIG_BLK_DEV_JMICRON is not set | 423 | # CONFIG_BLK_DEV_JMICRON is not set |
422 | # CONFIG_BLK_DEV_SC1200 is not set | 424 | # CONFIG_BLK_DEV_SC1200 is not set |
@@ -540,7 +542,6 @@ CONFIG_DM_ZERO=m | |||
540 | # CONFIG_IEEE1394 is not set | 542 | # CONFIG_IEEE1394 is not set |
541 | # CONFIG_I2O is not set | 543 | # CONFIG_I2O is not set |
542 | CONFIG_NETDEVICES=y | 544 | CONFIG_NETDEVICES=y |
543 | # CONFIG_NETDEVICES_MULTIQUEUE is not set | ||
544 | # CONFIG_DUMMY is not set | 545 | # CONFIG_DUMMY is not set |
545 | # CONFIG_BONDING is not set | 546 | # CONFIG_BONDING is not set |
546 | # CONFIG_MACVLAN is not set | 547 | # CONFIG_MACVLAN is not set |
@@ -548,7 +549,22 @@ CONFIG_NETDEVICES=y | |||
548 | # CONFIG_TUN is not set | 549 | # CONFIG_TUN is not set |
549 | # CONFIG_VETH is not set | 550 | # CONFIG_VETH is not set |
550 | # CONFIG_ARCNET is not set | 551 | # CONFIG_ARCNET is not set |
551 | # CONFIG_PHYLIB is not set | 552 | CONFIG_PHYLIB=m |
553 | |||
554 | # | ||
555 | # MII PHY device drivers | ||
556 | # | ||
557 | # CONFIG_MARVELL_PHY is not set | ||
558 | # CONFIG_DAVICOM_PHY is not set | ||
559 | # CONFIG_QSEMI_PHY is not set | ||
560 | # CONFIG_LXT_PHY is not set | ||
561 | # CONFIG_CICADA_PHY is not set | ||
562 | # CONFIG_VITESSE_PHY is not set | ||
563 | # CONFIG_SMSC_PHY is not set | ||
564 | # CONFIG_BROADCOM_PHY is not set | ||
565 | # CONFIG_ICPLUS_PHY is not set | ||
566 | # CONFIG_REALTEK_PHY is not set | ||
567 | # CONFIG_MDIO_BITBANG is not set | ||
552 | CONFIG_NET_ETHERNET=y | 568 | CONFIG_NET_ETHERNET=y |
553 | CONFIG_MII=m | 569 | CONFIG_MII=m |
554 | # CONFIG_SUNLANCE is not set | 570 | # CONFIG_SUNLANCE is not set |
@@ -565,6 +581,9 @@ CONFIG_SUNVNET=m | |||
565 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | 581 | # CONFIG_IBM_NEW_EMAC_RGMII is not set |
566 | # CONFIG_IBM_NEW_EMAC_TAH is not set | 582 | # CONFIG_IBM_NEW_EMAC_TAH is not set |
567 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | 583 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set |
584 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
585 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
586 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
568 | CONFIG_NET_PCI=y | 587 | CONFIG_NET_PCI=y |
569 | # CONFIG_PCNET32 is not set | 588 | # CONFIG_PCNET32 is not set |
570 | # CONFIG_AMD8111_ETH is not set | 589 | # CONFIG_AMD8111_ETH is not set |
@@ -582,16 +601,15 @@ CONFIG_NET_PCI=y | |||
582 | # CONFIG_SIS900 is not set | 601 | # CONFIG_SIS900 is not set |
583 | # CONFIG_EPIC100 is not set | 602 | # CONFIG_EPIC100 is not set |
584 | # CONFIG_SUNDANCE is not set | 603 | # CONFIG_SUNDANCE is not set |
604 | # CONFIG_TLAN is not set | ||
585 | # CONFIG_VIA_RHINE is not set | 605 | # CONFIG_VIA_RHINE is not set |
586 | # CONFIG_SC92031 is not set | 606 | # CONFIG_SC92031 is not set |
607 | # CONFIG_ATL2 is not set | ||
587 | CONFIG_NETDEV_1000=y | 608 | CONFIG_NETDEV_1000=y |
588 | # CONFIG_ACENIC is not set | 609 | # CONFIG_ACENIC is not set |
589 | # CONFIG_DL2K is not set | 610 | # CONFIG_DL2K is not set |
590 | CONFIG_E1000=m | 611 | CONFIG_E1000=m |
591 | CONFIG_E1000_NAPI=y | ||
592 | # CONFIG_E1000_DISABLE_PACKET_SPLIT is not set | ||
593 | # CONFIG_E1000E is not set | 612 | # CONFIG_E1000E is not set |
594 | # CONFIG_E1000E_ENABLED is not set | ||
595 | # CONFIG_IP1000 is not set | 613 | # CONFIG_IP1000 is not set |
596 | # CONFIG_IGB is not set | 614 | # CONFIG_IGB is not set |
597 | # CONFIG_MYRI_SBUS is not set | 615 | # CONFIG_MYRI_SBUS is not set |
@@ -607,18 +625,23 @@ CONFIG_TIGON3=m | |||
607 | CONFIG_BNX2=m | 625 | CONFIG_BNX2=m |
608 | # CONFIG_QLA3XXX is not set | 626 | # CONFIG_QLA3XXX is not set |
609 | # CONFIG_ATL1 is not set | 627 | # CONFIG_ATL1 is not set |
628 | # CONFIG_ATL1E is not set | ||
629 | # CONFIG_JME is not set | ||
610 | CONFIG_NETDEV_10000=y | 630 | CONFIG_NETDEV_10000=y |
611 | # CONFIG_CHELSIO_T1 is not set | 631 | # CONFIG_CHELSIO_T1 is not set |
612 | # CONFIG_CHELSIO_T3 is not set | 632 | # CONFIG_CHELSIO_T3 is not set |
633 | # CONFIG_ENIC is not set | ||
613 | # CONFIG_IXGBE is not set | 634 | # CONFIG_IXGBE is not set |
614 | # CONFIG_IXGB is not set | 635 | # CONFIG_IXGB is not set |
615 | # CONFIG_S2IO is not set | 636 | # CONFIG_S2IO is not set |
616 | # CONFIG_MYRI10GE is not set | 637 | # CONFIG_MYRI10GE is not set |
617 | # CONFIG_NETXEN_NIC is not set | 638 | # CONFIG_NETXEN_NIC is not set |
618 | CONFIG_NIU=m | 639 | CONFIG_NIU=m |
640 | # CONFIG_MLX4_EN is not set | ||
619 | # CONFIG_MLX4_CORE is not set | 641 | # CONFIG_MLX4_CORE is not set |
620 | # CONFIG_TEHUTI is not set | 642 | # CONFIG_TEHUTI is not set |
621 | # CONFIG_BNX2X is not set | 643 | # CONFIG_BNX2X is not set |
644 | # CONFIG_QLGE is not set | ||
622 | # CONFIG_SFC is not set | 645 | # CONFIG_SFC is not set |
623 | # CONFIG_TR is not set | 646 | # CONFIG_TR is not set |
624 | 647 | ||
@@ -694,9 +717,11 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y | |||
694 | CONFIG_MOUSE_PS2_SYNAPTICS=y | 717 | CONFIG_MOUSE_PS2_SYNAPTICS=y |
695 | CONFIG_MOUSE_PS2_LIFEBOOK=y | 718 | CONFIG_MOUSE_PS2_LIFEBOOK=y |
696 | CONFIG_MOUSE_PS2_TRACKPOINT=y | 719 | CONFIG_MOUSE_PS2_TRACKPOINT=y |
720 | # CONFIG_MOUSE_PS2_ELANTECH is not set | ||
697 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set | 721 | # CONFIG_MOUSE_PS2_TOUCHKIT is not set |
698 | CONFIG_MOUSE_SERIAL=y | 722 | CONFIG_MOUSE_SERIAL=y |
699 | # CONFIG_MOUSE_APPLETOUCH is not set | 723 | # CONFIG_MOUSE_APPLETOUCH is not set |
724 | # CONFIG_MOUSE_BCM5974 is not set | ||
700 | # CONFIG_MOUSE_VSXXXAA is not set | 725 | # CONFIG_MOUSE_VSXXXAA is not set |
701 | # CONFIG_INPUT_JOYSTICK is not set | 726 | # CONFIG_INPUT_JOYSTICK is not set |
702 | # CONFIG_INPUT_TABLET is not set | 727 | # CONFIG_INPUT_TABLET is not set |
@@ -708,6 +733,7 @@ CONFIG_INPUT_SPARCSPKR=y | |||
708 | # CONFIG_INPUT_KEYSPAN_REMOTE is not set | 733 | # CONFIG_INPUT_KEYSPAN_REMOTE is not set |
709 | # CONFIG_INPUT_POWERMATE is not set | 734 | # CONFIG_INPUT_POWERMATE is not set |
710 | # CONFIG_INPUT_YEALINK is not set | 735 | # CONFIG_INPUT_YEALINK is not set |
736 | # CONFIG_INPUT_CM109 is not set | ||
711 | # CONFIG_INPUT_UINPUT is not set | 737 | # CONFIG_INPUT_UINPUT is not set |
712 | 738 | ||
713 | # | 739 | # |
@@ -725,6 +751,7 @@ CONFIG_SERIO_RAW=m | |||
725 | # Character devices | 751 | # Character devices |
726 | # | 752 | # |
727 | CONFIG_VT=y | 753 | CONFIG_VT=y |
754 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
728 | CONFIG_VT_CONSOLE=y | 755 | CONFIG_VT_CONSOLE=y |
729 | CONFIG_HW_CONSOLE=y | 756 | CONFIG_HW_CONSOLE=y |
730 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | 757 | # CONFIG_VT_HW_CONSOLE_BINDING is not set |
@@ -735,6 +762,7 @@ CONFIG_HW_CONSOLE=y | |||
735 | # | 762 | # |
736 | # Serial drivers | 763 | # Serial drivers |
737 | # | 764 | # |
765 | # CONFIG_SERIAL_8250 is not set | ||
738 | 766 | ||
739 | # | 767 | # |
740 | # Non-8250 serial port support | 768 | # Non-8250 serial port support |
@@ -762,6 +790,7 @@ CONFIG_DEVPORT=y | |||
762 | CONFIG_I2C=y | 790 | CONFIG_I2C=y |
763 | CONFIG_I2C_BOARDINFO=y | 791 | CONFIG_I2C_BOARDINFO=y |
764 | # CONFIG_I2C_CHARDEV is not set | 792 | # CONFIG_I2C_CHARDEV is not set |
793 | CONFIG_I2C_HELPER_AUTO=y | ||
765 | CONFIG_I2C_ALGOBIT=y | 794 | CONFIG_I2C_ALGOBIT=y |
766 | 795 | ||
767 | # | 796 | # |
@@ -827,10 +856,13 @@ CONFIG_I2C_ALGOBIT=y | |||
827 | # CONFIG_I2C_DEBUG_BUS is not set | 856 | # CONFIG_I2C_DEBUG_BUS is not set |
828 | # CONFIG_I2C_DEBUG_CHIP is not set | 857 | # CONFIG_I2C_DEBUG_CHIP is not set |
829 | # CONFIG_SPI is not set | 858 | # CONFIG_SPI is not set |
859 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | ||
860 | # CONFIG_GPIOLIB is not set | ||
830 | # CONFIG_W1 is not set | 861 | # CONFIG_W1 is not set |
831 | # CONFIG_POWER_SUPPLY is not set | 862 | # CONFIG_POWER_SUPPLY is not set |
832 | CONFIG_HWMON=y | 863 | CONFIG_HWMON=y |
833 | # CONFIG_HWMON_VID is not set | 864 | # CONFIG_HWMON_VID is not set |
865 | # CONFIG_SENSORS_AD7414 is not set | ||
834 | # CONFIG_SENSORS_AD7418 is not set | 866 | # CONFIG_SENSORS_AD7418 is not set |
835 | # CONFIG_SENSORS_ADM1021 is not set | 867 | # CONFIG_SENSORS_ADM1021 is not set |
836 | # CONFIG_SENSORS_ADM1025 is not set | 868 | # CONFIG_SENSORS_ADM1025 is not set |
@@ -882,6 +914,7 @@ CONFIG_HWMON=y | |||
882 | # CONFIG_SENSORS_W83L786NG is not set | 914 | # CONFIG_SENSORS_W83L786NG is not set |
883 | # CONFIG_SENSORS_W83627HF is not set | 915 | # CONFIG_SENSORS_W83627HF is not set |
884 | # CONFIG_SENSORS_W83627EHF is not set | 916 | # CONFIG_SENSORS_W83627EHF is not set |
917 | # CONFIG_SENSORS_ULTRA45 is not set | ||
885 | # CONFIG_HWMON_DEBUG_CHIP is not set | 918 | # CONFIG_HWMON_DEBUG_CHIP is not set |
886 | # CONFIG_THERMAL is not set | 919 | # CONFIG_THERMAL is not set |
887 | # CONFIG_THERMAL_HWMON is not set | 920 | # CONFIG_THERMAL_HWMON is not set |
@@ -896,8 +929,14 @@ CONFIG_SSB_POSSIBLE=y | |||
896 | # | 929 | # |
897 | # Multifunction device drivers | 930 | # Multifunction device drivers |
898 | # | 931 | # |
932 | # CONFIG_MFD_CORE is not set | ||
899 | # CONFIG_MFD_SM501 is not set | 933 | # CONFIG_MFD_SM501 is not set |
900 | # CONFIG_HTC_PASIC3 is not set | 934 | # CONFIG_HTC_PASIC3 is not set |
935 | # CONFIG_MFD_TMIO is not set | ||
936 | # CONFIG_PMIC_DA903X is not set | ||
937 | # CONFIG_MFD_WM8400 is not set | ||
938 | # CONFIG_MFD_WM8350_I2C is not set | ||
939 | # CONFIG_REGULATOR is not set | ||
901 | 940 | ||
902 | # | 941 | # |
903 | # Multimedia devices | 942 | # Multimedia devices |
@@ -924,6 +963,7 @@ CONFIG_SSB_POSSIBLE=y | |||
924 | CONFIG_FB=y | 963 | CONFIG_FB=y |
925 | # CONFIG_FIRMWARE_EDID is not set | 964 | # CONFIG_FIRMWARE_EDID is not set |
926 | CONFIG_FB_DDC=y | 965 | CONFIG_FB_DDC=y |
966 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
927 | CONFIG_FB_CFB_FILLRECT=y | 967 | CONFIG_FB_CFB_FILLRECT=y |
928 | CONFIG_FB_CFB_COPYAREA=y | 968 | CONFIG_FB_CFB_COPYAREA=y |
929 | CONFIG_FB_CFB_IMAGEBLIT=y | 969 | CONFIG_FB_CFB_IMAGEBLIT=y |
@@ -975,6 +1015,7 @@ CONFIG_FB_ATY_GX=y | |||
975 | # CONFIG_FB_S3 is not set | 1015 | # CONFIG_FB_S3 is not set |
976 | # CONFIG_FB_SAVAGE is not set | 1016 | # CONFIG_FB_SAVAGE is not set |
977 | # CONFIG_FB_SIS is not set | 1017 | # CONFIG_FB_SIS is not set |
1018 | # CONFIG_FB_VIA is not set | ||
978 | # CONFIG_FB_NEOMAGIC is not set | 1019 | # CONFIG_FB_NEOMAGIC is not set |
979 | # CONFIG_FB_KYRO is not set | 1020 | # CONFIG_FB_KYRO is not set |
980 | # CONFIG_FB_3DFX is not set | 1021 | # CONFIG_FB_3DFX is not set |
@@ -983,7 +1024,10 @@ CONFIG_FB_ATY_GX=y | |||
983 | # CONFIG_FB_TRIDENT is not set | 1024 | # CONFIG_FB_TRIDENT is not set |
984 | # CONFIG_FB_ARK is not set | 1025 | # CONFIG_FB_ARK is not set |
985 | # CONFIG_FB_PM3 is not set | 1026 | # CONFIG_FB_PM3 is not set |
1027 | # CONFIG_FB_CARMINE is not set | ||
986 | # CONFIG_FB_VIRTUAL is not set | 1028 | # CONFIG_FB_VIRTUAL is not set |
1029 | # CONFIG_FB_METRONOME is not set | ||
1030 | # CONFIG_FB_MB862XX is not set | ||
987 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | 1031 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set |
988 | 1032 | ||
989 | # | 1033 | # |
@@ -1015,6 +1059,7 @@ CONFIG_LOGO=y | |||
1015 | # CONFIG_LOGO_LINUX_CLUT224 is not set | 1059 | # CONFIG_LOGO_LINUX_CLUT224 is not set |
1016 | CONFIG_LOGO_SUN_CLUT224=y | 1060 | CONFIG_LOGO_SUN_CLUT224=y |
1017 | CONFIG_SOUND=m | 1061 | CONFIG_SOUND=m |
1062 | CONFIG_SOUND_OSS_CORE=y | ||
1018 | CONFIG_SND=m | 1063 | CONFIG_SND=m |
1019 | CONFIG_SND_TIMER=m | 1064 | CONFIG_SND_TIMER=m |
1020 | CONFIG_SND_PCM=m | 1065 | CONFIG_SND_PCM=m |
@@ -1120,9 +1165,36 @@ CONFIG_HID=y | |||
1120 | # USB Input Devices | 1165 | # USB Input Devices |
1121 | # | 1166 | # |
1122 | CONFIG_USB_HID=y | 1167 | CONFIG_USB_HID=y |
1123 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | 1168 | # CONFIG_HID_PID is not set |
1124 | # CONFIG_HID_FF is not set | ||
1125 | CONFIG_USB_HIDDEV=y | 1169 | CONFIG_USB_HIDDEV=y |
1170 | |||
1171 | # | ||
1172 | # Special HID drivers | ||
1173 | # | ||
1174 | CONFIG_HID_COMPAT=y | ||
1175 | CONFIG_HID_A4TECH=y | ||
1176 | CONFIG_HID_APPLE=y | ||
1177 | CONFIG_HID_BELKIN=y | ||
1178 | CONFIG_HID_BRIGHT=y | ||
1179 | CONFIG_HID_CHERRY=y | ||
1180 | CONFIG_HID_CHICONY=y | ||
1181 | CONFIG_HID_CYPRESS=y | ||
1182 | CONFIG_HID_DELL=y | ||
1183 | CONFIG_HID_EZKEY=y | ||
1184 | CONFIG_HID_GYRATION=y | ||
1185 | CONFIG_HID_LOGITECH=y | ||
1186 | # CONFIG_LOGITECH_FF is not set | ||
1187 | # CONFIG_LOGIRUMBLEPAD2_FF is not set | ||
1188 | CONFIG_HID_MICROSOFT=y | ||
1189 | CONFIG_HID_MONTEREY=y | ||
1190 | CONFIG_HID_PANTHERLORD=y | ||
1191 | # CONFIG_PANTHERLORD_FF is not set | ||
1192 | CONFIG_HID_PETALYNX=y | ||
1193 | CONFIG_HID_SAMSUNG=y | ||
1194 | CONFIG_HID_SONY=y | ||
1195 | CONFIG_HID_SUNPLUS=y | ||
1196 | # CONFIG_THRUSTMASTER_FF is not set | ||
1197 | # CONFIG_ZEROPLUS_FF is not set | ||
1126 | CONFIG_USB_SUPPORT=y | 1198 | CONFIG_USB_SUPPORT=y |
1127 | CONFIG_USB_ARCH_HAS_HCD=y | 1199 | CONFIG_USB_ARCH_HAS_HCD=y |
1128 | CONFIG_USB_ARCH_HAS_OHCI=y | 1200 | CONFIG_USB_ARCH_HAS_OHCI=y |
@@ -1138,6 +1210,9 @@ CONFIG_USB_DEVICEFS=y | |||
1138 | # CONFIG_USB_DEVICE_CLASS is not set | 1210 | # CONFIG_USB_DEVICE_CLASS is not set |
1139 | # CONFIG_USB_DYNAMIC_MINORS is not set | 1211 | # CONFIG_USB_DYNAMIC_MINORS is not set |
1140 | # CONFIG_USB_OTG is not set | 1212 | # CONFIG_USB_OTG is not set |
1213 | # CONFIG_USB_MON is not set | ||
1214 | # CONFIG_USB_WUSB is not set | ||
1215 | # CONFIG_USB_WUSB_CBAF is not set | ||
1141 | 1216 | ||
1142 | # | 1217 | # |
1143 | # USB Host Controller Drivers | 1218 | # USB Host Controller Drivers |
@@ -1155,6 +1230,8 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
1155 | CONFIG_USB_UHCI_HCD=m | 1230 | CONFIG_USB_UHCI_HCD=m |
1156 | # CONFIG_USB_SL811_HCD is not set | 1231 | # CONFIG_USB_SL811_HCD is not set |
1157 | # CONFIG_USB_R8A66597_HCD is not set | 1232 | # CONFIG_USB_R8A66597_HCD is not set |
1233 | # CONFIG_USB_WHCI_HCD is not set | ||
1234 | # CONFIG_USB_HWA_HCD is not set | ||
1158 | 1235 | ||
1159 | # | 1236 | # |
1160 | # USB Device Class drivers | 1237 | # USB Device Class drivers |
@@ -1162,6 +1239,7 @@ CONFIG_USB_UHCI_HCD=m | |||
1162 | # CONFIG_USB_ACM is not set | 1239 | # CONFIG_USB_ACM is not set |
1163 | # CONFIG_USB_PRINTER is not set | 1240 | # CONFIG_USB_PRINTER is not set |
1164 | # CONFIG_USB_WDM is not set | 1241 | # CONFIG_USB_WDM is not set |
1242 | # CONFIG_USB_TMC is not set | ||
1165 | 1243 | ||
1166 | # | 1244 | # |
1167 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 1245 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
@@ -1191,7 +1269,6 @@ CONFIG_USB_STORAGE=m | |||
1191 | # | 1269 | # |
1192 | # CONFIG_USB_MDC800 is not set | 1270 | # CONFIG_USB_MDC800 is not set |
1193 | # CONFIG_USB_MICROTEK is not set | 1271 | # CONFIG_USB_MICROTEK is not set |
1194 | # CONFIG_USB_MON is not set | ||
1195 | 1272 | ||
1196 | # | 1273 | # |
1197 | # USB port drivers | 1274 | # USB port drivers |
@@ -1204,7 +1281,7 @@ CONFIG_USB_STORAGE=m | |||
1204 | # CONFIG_USB_EMI62 is not set | 1281 | # CONFIG_USB_EMI62 is not set |
1205 | # CONFIG_USB_EMI26 is not set | 1282 | # CONFIG_USB_EMI26 is not set |
1206 | # CONFIG_USB_ADUTUX is not set | 1283 | # CONFIG_USB_ADUTUX is not set |
1207 | # CONFIG_USB_AUERSWALD is not set | 1284 | # CONFIG_USB_SEVSEG is not set |
1208 | # CONFIG_USB_RIO500 is not set | 1285 | # CONFIG_USB_RIO500 is not set |
1209 | # CONFIG_USB_LEGOTOWER is not set | 1286 | # CONFIG_USB_LEGOTOWER is not set |
1210 | # CONFIG_USB_LCD is not set | 1287 | # CONFIG_USB_LCD is not set |
@@ -1222,21 +1299,80 @@ CONFIG_USB_STORAGE=m | |||
1222 | # CONFIG_USB_IOWARRIOR is not set | 1299 | # CONFIG_USB_IOWARRIOR is not set |
1223 | # CONFIG_USB_TEST is not set | 1300 | # CONFIG_USB_TEST is not set |
1224 | # CONFIG_USB_ISIGHTFW is not set | 1301 | # CONFIG_USB_ISIGHTFW is not set |
1302 | # CONFIG_USB_VST is not set | ||
1225 | # CONFIG_USB_GADGET is not set | 1303 | # CONFIG_USB_GADGET is not set |
1304 | # CONFIG_UWB is not set | ||
1226 | # CONFIG_MMC is not set | 1305 | # CONFIG_MMC is not set |
1227 | # CONFIG_MEMSTICK is not set | 1306 | # CONFIG_MEMSTICK is not set |
1228 | # CONFIG_NEW_LEDS is not set | 1307 | # CONFIG_NEW_LEDS is not set |
1229 | # CONFIG_ACCESSIBILITY is not set | 1308 | # CONFIG_ACCESSIBILITY is not set |
1230 | # CONFIG_INFINIBAND is not set | 1309 | # CONFIG_INFINIBAND is not set |
1231 | # CONFIG_RTC_CLASS is not set | 1310 | CONFIG_RTC_LIB=y |
1311 | CONFIG_RTC_CLASS=y | ||
1312 | CONFIG_RTC_HCTOSYS=y | ||
1313 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
1314 | # CONFIG_RTC_DEBUG is not set | ||
1315 | |||
1316 | # | ||
1317 | # RTC interfaces | ||
1318 | # | ||
1319 | CONFIG_RTC_INTF_SYSFS=y | ||
1320 | CONFIG_RTC_INTF_PROC=y | ||
1321 | CONFIG_RTC_INTF_DEV=y | ||
1322 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1323 | # CONFIG_RTC_DRV_TEST is not set | ||
1324 | |||
1325 | # | ||
1326 | # I2C RTC drivers | ||
1327 | # | ||
1328 | # CONFIG_RTC_DRV_DS1307 is not set | ||
1329 | # CONFIG_RTC_DRV_DS1374 is not set | ||
1330 | # CONFIG_RTC_DRV_DS1672 is not set | ||
1331 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
1332 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
1333 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
1334 | # CONFIG_RTC_DRV_X1205 is not set | ||
1335 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
1336 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
1337 | # CONFIG_RTC_DRV_M41T80 is not set | ||
1338 | # CONFIG_RTC_DRV_S35390A is not set | ||
1339 | # CONFIG_RTC_DRV_FM3130 is not set | ||
1340 | |||
1341 | # | ||
1342 | # SPI RTC drivers | ||
1343 | # | ||
1344 | |||
1345 | # | ||
1346 | # Platform RTC drivers | ||
1347 | # | ||
1348 | CONFIG_RTC_DRV_CMOS=y | ||
1349 | # CONFIG_RTC_DRV_DS1286 is not set | ||
1350 | # CONFIG_RTC_DRV_DS1511 is not set | ||
1351 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1352 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1353 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
1354 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1355 | # CONFIG_RTC_DRV_M48T35 is not set | ||
1356 | CONFIG_RTC_DRV_M48T59=y | ||
1357 | CONFIG_RTC_DRV_BQ4802=y | ||
1358 | # CONFIG_RTC_DRV_V3020 is not set | ||
1359 | |||
1360 | # | ||
1361 | # on-CPU RTC drivers | ||
1362 | # | ||
1363 | CONFIG_RTC_DRV_SUN4V=y | ||
1364 | CONFIG_RTC_DRV_STARFIRE=y | ||
1365 | # CONFIG_DMADEVICES is not set | ||
1232 | # CONFIG_UIO is not set | 1366 | # CONFIG_UIO is not set |
1367 | # CONFIG_STAGING is not set | ||
1368 | CONFIG_STAGING_EXCLUDE_BUILD=y | ||
1233 | 1369 | ||
1234 | # | 1370 | # |
1235 | # Misc Linux/SPARC drivers | 1371 | # Misc Linux/SPARC drivers |
1236 | # | 1372 | # |
1237 | CONFIG_SUN_OPENPROMIO=y | 1373 | CONFIG_SUN_OPENPROMIO=y |
1238 | # CONFIG_OBP_FLASH is not set | 1374 | # CONFIG_OBP_FLASH is not set |
1239 | # CONFIG_SUN_BPP is not set | 1375 | # CONFIG_TADPOLE_TS102_UCTRL is not set |
1240 | # CONFIG_BBC_I2C is not set | 1376 | # CONFIG_BBC_I2C is not set |
1241 | # CONFIG_ENVCTRL is not set | 1377 | # CONFIG_ENVCTRL is not set |
1242 | # CONFIG_DISPLAY7SEG is not set | 1378 | # CONFIG_DISPLAY7SEG is not set |
@@ -1253,13 +1389,14 @@ CONFIG_EXT3_FS=y | |||
1253 | CONFIG_EXT3_FS_XATTR=y | 1389 | CONFIG_EXT3_FS_XATTR=y |
1254 | CONFIG_EXT3_FS_POSIX_ACL=y | 1390 | CONFIG_EXT3_FS_POSIX_ACL=y |
1255 | CONFIG_EXT3_FS_SECURITY=y | 1391 | CONFIG_EXT3_FS_SECURITY=y |
1256 | # CONFIG_EXT4DEV_FS is not set | 1392 | # CONFIG_EXT4_FS is not set |
1257 | CONFIG_JBD=y | 1393 | CONFIG_JBD=y |
1258 | # CONFIG_JBD_DEBUG is not set | 1394 | # CONFIG_JBD_DEBUG is not set |
1259 | CONFIG_FS_MBCACHE=y | 1395 | CONFIG_FS_MBCACHE=y |
1260 | # CONFIG_REISERFS_FS is not set | 1396 | # CONFIG_REISERFS_FS is not set |
1261 | # CONFIG_JFS_FS is not set | 1397 | # CONFIG_JFS_FS is not set |
1262 | CONFIG_FS_POSIX_ACL=y | 1398 | CONFIG_FS_POSIX_ACL=y |
1399 | CONFIG_FILE_LOCKING=y | ||
1263 | # CONFIG_XFS_FS is not set | 1400 | # CONFIG_XFS_FS is not set |
1264 | # CONFIG_GFS2_FS is not set | 1401 | # CONFIG_GFS2_FS is not set |
1265 | # CONFIG_OCFS2_FS is not set | 1402 | # CONFIG_OCFS2_FS is not set |
@@ -1290,6 +1427,7 @@ CONFIG_INOTIFY_USER=y | |||
1290 | CONFIG_PROC_FS=y | 1427 | CONFIG_PROC_FS=y |
1291 | CONFIG_PROC_KCORE=y | 1428 | CONFIG_PROC_KCORE=y |
1292 | CONFIG_PROC_SYSCTL=y | 1429 | CONFIG_PROC_SYSCTL=y |
1430 | CONFIG_PROC_PAGE_MONITOR=y | ||
1293 | CONFIG_SYSFS=y | 1431 | CONFIG_SYSFS=y |
1294 | CONFIG_TMPFS=y | 1432 | CONFIG_TMPFS=y |
1295 | # CONFIG_TMPFS_POSIX_ACL is not set | 1433 | # CONFIG_TMPFS_POSIX_ACL is not set |
@@ -1311,6 +1449,7 @@ CONFIG_HUGETLB_PAGE=y | |||
1311 | # CONFIG_CRAMFS is not set | 1449 | # CONFIG_CRAMFS is not set |
1312 | # CONFIG_VXFS_FS is not set | 1450 | # CONFIG_VXFS_FS is not set |
1313 | # CONFIG_MINIX_FS is not set | 1451 | # CONFIG_MINIX_FS is not set |
1452 | # CONFIG_OMFS_FS is not set | ||
1314 | # CONFIG_HPFS_FS is not set | 1453 | # CONFIG_HPFS_FS is not set |
1315 | # CONFIG_QNX4FS_FS is not set | 1454 | # CONFIG_QNX4FS_FS is not set |
1316 | # CONFIG_ROMFS_FS is not set | 1455 | # CONFIG_ROMFS_FS is not set |
@@ -1388,6 +1527,8 @@ CONFIG_DEBUG_FS=y | |||
1388 | CONFIG_DEBUG_KERNEL=y | 1527 | CONFIG_DEBUG_KERNEL=y |
1389 | # CONFIG_DEBUG_SHIRQ is not set | 1528 | # CONFIG_DEBUG_SHIRQ is not set |
1390 | CONFIG_DETECT_SOFTLOCKUP=y | 1529 | CONFIG_DETECT_SOFTLOCKUP=y |
1530 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
1531 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
1391 | # CONFIG_SCHED_DEBUG is not set | 1532 | # CONFIG_SCHED_DEBUG is not set |
1392 | CONFIG_SCHEDSTATS=y | 1533 | CONFIG_SCHEDSTATS=y |
1393 | # CONFIG_TIMER_STATS is not set | 1534 | # CONFIG_TIMER_STATS is not set |
@@ -1408,20 +1549,30 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
1408 | # CONFIG_DEBUG_INFO is not set | 1549 | # CONFIG_DEBUG_INFO is not set |
1409 | # CONFIG_DEBUG_VM is not set | 1550 | # CONFIG_DEBUG_VM is not set |
1410 | # CONFIG_DEBUG_WRITECOUNT is not set | 1551 | # CONFIG_DEBUG_WRITECOUNT is not set |
1552 | CONFIG_DEBUG_MEMORY_INIT=y | ||
1411 | # CONFIG_DEBUG_LIST is not set | 1553 | # CONFIG_DEBUG_LIST is not set |
1412 | # CONFIG_DEBUG_SG is not set | 1554 | # CONFIG_DEBUG_SG is not set |
1413 | # CONFIG_BOOT_PRINTK_DELAY is not set | 1555 | # CONFIG_BOOT_PRINTK_DELAY is not set |
1414 | # CONFIG_RCU_TORTURE_TEST is not set | 1556 | # CONFIG_RCU_TORTURE_TEST is not set |
1557 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
1415 | # CONFIG_KPROBES_SANITY_TEST is not set | 1558 | # CONFIG_KPROBES_SANITY_TEST is not set |
1416 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1559 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1560 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
1417 | # CONFIG_LKDTM is not set | 1561 | # CONFIG_LKDTM is not set |
1418 | # CONFIG_FAULT_INJECTION is not set | 1562 | # CONFIG_FAULT_INJECTION is not set |
1419 | CONFIG_HAVE_FTRACE=y | 1563 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1420 | CONFIG_HAVE_DYNAMIC_FTRACE=y | 1564 | CONFIG_HAVE_FUNCTION_TRACER=y |
1421 | # CONFIG_FTRACE is not set | 1565 | |
1566 | # | ||
1567 | # Tracers | ||
1568 | # | ||
1569 | # CONFIG_FUNCTION_TRACER is not set | ||
1422 | # CONFIG_IRQSOFF_TRACER is not set | 1570 | # CONFIG_IRQSOFF_TRACER is not set |
1423 | # CONFIG_SCHED_TRACER is not set | 1571 | # CONFIG_SCHED_TRACER is not set |
1424 | # CONFIG_CONTEXT_SWITCH_TRACER is not set | 1572 | # CONFIG_CONTEXT_SWITCH_TRACER is not set |
1573 | # CONFIG_BOOT_TRACER is not set | ||
1574 | # CONFIG_STACK_TRACER is not set | ||
1575 | # CONFIG_DYNAMIC_PRINTK_DEBUG is not set | ||
1425 | # CONFIG_SAMPLES is not set | 1576 | # CONFIG_SAMPLES is not set |
1426 | CONFIG_HAVE_ARCH_KGDB=y | 1577 | CONFIG_HAVE_ARCH_KGDB=y |
1427 | # CONFIG_KGDB is not set | 1578 | # CONFIG_KGDB is not set |
@@ -1436,6 +1587,7 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1436 | CONFIG_KEYS=y | 1587 | CONFIG_KEYS=y |
1437 | # CONFIG_KEYS_DEBUG_PROC_KEYS is not set | 1588 | # CONFIG_KEYS_DEBUG_PROC_KEYS is not set |
1438 | # CONFIG_SECURITY is not set | 1589 | # CONFIG_SECURITY is not set |
1590 | # CONFIG_SECURITYFS is not set | ||
1439 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1591 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set |
1440 | CONFIG_XOR_BLOCKS=m | 1592 | CONFIG_XOR_BLOCKS=m |
1441 | CONFIG_ASYNC_CORE=m | 1593 | CONFIG_ASYNC_CORE=m |
@@ -1446,10 +1598,12 @@ CONFIG_CRYPTO=y | |||
1446 | # | 1598 | # |
1447 | # Crypto core or helper | 1599 | # Crypto core or helper |
1448 | # | 1600 | # |
1601 | # CONFIG_CRYPTO_FIPS is not set | ||
1449 | CONFIG_CRYPTO_ALGAPI=y | 1602 | CONFIG_CRYPTO_ALGAPI=y |
1450 | CONFIG_CRYPTO_AEAD=y | 1603 | CONFIG_CRYPTO_AEAD=y |
1451 | CONFIG_CRYPTO_BLKCIPHER=y | 1604 | CONFIG_CRYPTO_BLKCIPHER=y |
1452 | CONFIG_CRYPTO_HASH=y | 1605 | CONFIG_CRYPTO_HASH=y |
1606 | CONFIG_CRYPTO_RNG=y | ||
1453 | CONFIG_CRYPTO_MANAGER=y | 1607 | CONFIG_CRYPTO_MANAGER=y |
1454 | CONFIG_CRYPTO_GF128MUL=m | 1608 | CONFIG_CRYPTO_GF128MUL=m |
1455 | CONFIG_CRYPTO_NULL=m | 1609 | CONFIG_CRYPTO_NULL=m |
@@ -1523,6 +1677,11 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m | |||
1523 | # | 1677 | # |
1524 | CONFIG_CRYPTO_DEFLATE=y | 1678 | CONFIG_CRYPTO_DEFLATE=y |
1525 | # CONFIG_CRYPTO_LZO is not set | 1679 | # CONFIG_CRYPTO_LZO is not set |
1680 | |||
1681 | # | ||
1682 | # Random Number Generation | ||
1683 | # | ||
1684 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
1526 | CONFIG_CRYPTO_HW=y | 1685 | CONFIG_CRYPTO_HW=y |
1527 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set | 1686 | # CONFIG_CRYPTO_DEV_HIFN_795X is not set |
1528 | 1687 | ||
@@ -1530,7 +1689,6 @@ CONFIG_CRYPTO_HW=y | |||
1530 | # Library routines | 1689 | # Library routines |
1531 | # | 1690 | # |
1532 | CONFIG_BITREVERSE=y | 1691 | CONFIG_BITREVERSE=y |
1533 | # CONFIG_GENERIC_FIND_FIRST_BIT is not set | ||
1534 | CONFIG_CRC_CCITT=m | 1692 | CONFIG_CRC_CCITT=m |
1535 | CONFIG_CRC16=m | 1693 | CONFIG_CRC16=m |
1536 | # CONFIG_CRC_T10DIF is not set | 1694 | # CONFIG_CRC_T10DIF is not set |
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 4cf0ab13d187..93224b569187 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -957,7 +957,7 @@ config ARCH_PHYS_ADDR_T_64BIT | |||
957 | config NUMA | 957 | config NUMA |
958 | bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)" | 958 | bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)" |
959 | depends on SMP | 959 | depends on SMP |
960 | depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL) | 960 | depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && BROKEN) |
961 | default n if X86_PC | 961 | default n if X86_PC |
962 | default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) | 962 | default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP) |
963 | help | 963 | help |
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 0cd3ad497136..4214bfb13bbd 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c | |||
@@ -612,7 +612,7 @@ u64 ata_tf_read_block(struct ata_taskfile *tf, struct ata_device *dev) | |||
612 | if (tf->flags & ATA_TFLAG_LBA48) { | 612 | if (tf->flags & ATA_TFLAG_LBA48) { |
613 | block |= (u64)tf->hob_lbah << 40; | 613 | block |= (u64)tf->hob_lbah << 40; |
614 | block |= (u64)tf->hob_lbam << 32; | 614 | block |= (u64)tf->hob_lbam << 32; |
615 | block |= tf->hob_lbal << 24; | 615 | block |= (u64)tf->hob_lbal << 24; |
616 | } else | 616 | } else |
617 | block |= (tf->device & 0xf) << 24; | 617 | block |= (tf->device & 0xf) << 24; |
618 | 618 | ||
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c index 8077bdf5d30d..32da9a93ce44 100644 --- a/drivers/ata/libata-eh.c +++ b/drivers/ata/libata-eh.c | |||
@@ -610,9 +610,6 @@ void ata_scsi_error(struct Scsi_Host *host) | |||
610 | if (ata_ncq_enabled(dev)) | 610 | if (ata_ncq_enabled(dev)) |
611 | ehc->saved_ncq_enabled |= 1 << devno; | 611 | ehc->saved_ncq_enabled |= 1 << devno; |
612 | } | 612 | } |
613 | |||
614 | /* set last reset timestamp to some time in the past */ | ||
615 | ehc->last_reset = jiffies - 60 * HZ; | ||
616 | } | 613 | } |
617 | 614 | ||
618 | ap->pflags |= ATA_PFLAG_EH_IN_PROGRESS; | 615 | ap->pflags |= ATA_PFLAG_EH_IN_PROGRESS; |
@@ -2281,17 +2278,21 @@ int ata_eh_reset(struct ata_link *link, int classify, | |||
2281 | if (link->flags & ATA_LFLAG_NO_SRST) | 2278 | if (link->flags & ATA_LFLAG_NO_SRST) |
2282 | softreset = NULL; | 2279 | softreset = NULL; |
2283 | 2280 | ||
2284 | now = jiffies; | 2281 | /* make sure each reset attemp is at least COOL_DOWN apart */ |
2285 | deadline = ata_deadline(ehc->last_reset, ATA_EH_RESET_COOL_DOWN); | 2282 | if (ehc->i.flags & ATA_EHI_DID_RESET) { |
2286 | if (time_before(now, deadline)) | 2283 | now = jiffies; |
2287 | schedule_timeout_uninterruptible(deadline - now); | 2284 | WARN_ON(time_after(ehc->last_reset, now)); |
2285 | deadline = ata_deadline(ehc->last_reset, | ||
2286 | ATA_EH_RESET_COOL_DOWN); | ||
2287 | if (time_before(now, deadline)) | ||
2288 | schedule_timeout_uninterruptible(deadline - now); | ||
2289 | } | ||
2288 | 2290 | ||
2289 | spin_lock_irqsave(ap->lock, flags); | 2291 | spin_lock_irqsave(ap->lock, flags); |
2290 | ap->pflags |= ATA_PFLAG_RESETTING; | 2292 | ap->pflags |= ATA_PFLAG_RESETTING; |
2291 | spin_unlock_irqrestore(ap->lock, flags); | 2293 | spin_unlock_irqrestore(ap->lock, flags); |
2292 | 2294 | ||
2293 | ata_eh_about_to_do(link, NULL, ATA_EH_RESET); | 2295 | ata_eh_about_to_do(link, NULL, ATA_EH_RESET); |
2294 | ehc->last_reset = jiffies; | ||
2295 | 2296 | ||
2296 | ata_link_for_each_dev(dev, link) { | 2297 | ata_link_for_each_dev(dev, link) { |
2297 | /* If we issue an SRST then an ATA drive (not ATAPI) | 2298 | /* If we issue an SRST then an ATA drive (not ATAPI) |
@@ -2379,7 +2380,6 @@ int ata_eh_reset(struct ata_link *link, int classify, | |||
2379 | /* | 2380 | /* |
2380 | * Perform reset | 2381 | * Perform reset |
2381 | */ | 2382 | */ |
2382 | ehc->last_reset = jiffies; | ||
2383 | if (ata_is_host_link(link)) | 2383 | if (ata_is_host_link(link)) |
2384 | ata_eh_freeze_port(ap); | 2384 | ata_eh_freeze_port(ap); |
2385 | 2385 | ||
@@ -2391,6 +2391,7 @@ int ata_eh_reset(struct ata_link *link, int classify, | |||
2391 | reset == softreset ? "soft" : "hard"); | 2391 | reset == softreset ? "soft" : "hard"); |
2392 | 2392 | ||
2393 | /* mark that this EH session started with reset */ | 2393 | /* mark that this EH session started with reset */ |
2394 | ehc->last_reset = jiffies; | ||
2394 | if (reset == hardreset) | 2395 | if (reset == hardreset) |
2395 | ehc->i.flags |= ATA_EHI_DID_HARDRESET; | 2396 | ehc->i.flags |= ATA_EHI_DID_HARDRESET; |
2396 | else | 2397 | else |
@@ -2535,7 +2536,7 @@ int ata_eh_reset(struct ata_link *link, int classify, | |||
2535 | ata_eh_done(link, NULL, ATA_EH_RESET); | 2536 | ata_eh_done(link, NULL, ATA_EH_RESET); |
2536 | if (slave) | 2537 | if (slave) |
2537 | ata_eh_done(slave, NULL, ATA_EH_RESET); | 2538 | ata_eh_done(slave, NULL, ATA_EH_RESET); |
2538 | ehc->last_reset = jiffies; | 2539 | ehc->last_reset = jiffies; /* update to completion time */ |
2539 | ehc->i.action |= ATA_EH_REVALIDATE; | 2540 | ehc->i.action |= ATA_EH_REVALIDATE; |
2540 | 2541 | ||
2541 | rc = 0; | 2542 | rc = 0; |
diff --git a/drivers/ata/pata_cs5535.c b/drivers/ata/pata_cs5535.c index 1b2d4a0f5f74..8b236af84c2e 100644 --- a/drivers/ata/pata_cs5535.c +++ b/drivers/ata/pata_cs5535.c | |||
@@ -72,7 +72,6 @@ | |||
72 | /** | 72 | /** |
73 | * cs5535_cable_detect - detect cable type | 73 | * cs5535_cable_detect - detect cable type |
74 | * @ap: Port to detect on | 74 | * @ap: Port to detect on |
75 | * @deadline: deadline jiffies for the operation | ||
76 | * | 75 | * |
77 | * Perform cable detection for ATA66 capable cable. Return a libata | 76 | * Perform cable detection for ATA66 capable cable. Return a libata |
78 | * cable type. | 77 | * cable type. |
diff --git a/drivers/ata/pata_cs5536.c b/drivers/ata/pata_cs5536.c index 73f8332cb679..afed92976198 100644 --- a/drivers/ata/pata_cs5536.c +++ b/drivers/ata/pata_cs5536.c | |||
@@ -110,7 +110,6 @@ static inline int cs5536_write(struct pci_dev *pdev, int reg, int val) | |||
110 | /** | 110 | /** |
111 | * cs5536_cable_detect - detect cable type | 111 | * cs5536_cable_detect - detect cable type |
112 | * @ap: Port to detect on | 112 | * @ap: Port to detect on |
113 | * @deadline: deadline jiffies for the operation | ||
114 | * | 113 | * |
115 | * Perform cable detection for ATA66 capable cable. Return a libata | 114 | * Perform cable detection for ATA66 capable cable. Return a libata |
116 | * cable type. | 115 | * cable type. |
diff --git a/drivers/ata/pata_pcmcia.c b/drivers/ata/pata_pcmcia.c index 271cb64d429e..64b2e2281ee7 100644 --- a/drivers/ata/pata_pcmcia.c +++ b/drivers/ata/pata_pcmcia.c | |||
@@ -416,6 +416,7 @@ static struct pcmcia_device_id pcmcia_devices[] = { | |||
416 | PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209), | 416 | PCMCIA_DEVICE_PROD_ID1("STI Flash", 0xe4a13209), |
417 | PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e), | 417 | PCMCIA_DEVICE_PROD_ID12("STI", "Flash 5.0", 0xbf2df18d, 0x8cb57a0e), |
418 | PCMCIA_MFC_DEVICE_PROD_ID12(1, "SanDisk", "ConnectPlus", 0x7a954bd9, 0x74be00c6), | 418 | PCMCIA_MFC_DEVICE_PROD_ID12(1, "SanDisk", "ConnectPlus", 0x7a954bd9, 0x74be00c6), |
419 | PCMCIA_DEVICE_PROD_ID2("Flash Card", 0x5a362506), | ||
419 | PCMCIA_DEVICE_NULL, | 420 | PCMCIA_DEVICE_NULL, |
420 | }; | 421 | }; |
421 | 422 | ||
diff --git a/drivers/ata/pata_sch.c b/drivers/ata/pata_sch.c index c8cc027789fe..6aeeeeb34124 100644 --- a/drivers/ata/pata_sch.c +++ b/drivers/ata/pata_sch.c | |||
@@ -83,7 +83,7 @@ static struct ata_port_operations sch_pata_ops = { | |||
83 | }; | 83 | }; |
84 | 84 | ||
85 | static struct ata_port_info sch_port_info = { | 85 | static struct ata_port_info sch_port_info = { |
86 | .flags = 0, | 86 | .flags = ATA_FLAG_SLAVE_POSS, |
87 | .pio_mask = ATA_PIO4, /* pio0-4 */ | 87 | .pio_mask = ATA_PIO4, /* pio0-4 */ |
88 | .mwdma_mask = ATA_MWDMA2, /* mwdma0-2 */ | 88 | .mwdma_mask = ATA_MWDMA2, /* mwdma0-2 */ |
89 | .udma_mask = ATA_UDMA5, /* udma0-5 */ | 89 | .udma_mask = ATA_UDMA5, /* udma0-5 */ |
diff --git a/drivers/dca/dca-core.c b/drivers/dca/dca-core.c index ec249d2db633..d883e1b8bb8c 100644 --- a/drivers/dca/dca-core.c +++ b/drivers/dca/dca-core.c | |||
@@ -270,6 +270,6 @@ static void __exit dca_exit(void) | |||
270 | dca_sysfs_exit(); | 270 | dca_sysfs_exit(); |
271 | } | 271 | } |
272 | 272 | ||
273 | module_init(dca_init); | 273 | subsys_initcall(dca_init); |
274 | module_exit(dca_exit); | 274 | module_exit(dca_exit); |
275 | 275 | ||
diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c index b0438c4f0c30..ecd743f7cc61 100644 --- a/drivers/dma/ioat_dma.c +++ b/drivers/dma/ioat_dma.c | |||
@@ -525,7 +525,7 @@ static dma_cookie_t ioat1_tx_submit(struct dma_async_tx_descriptor *tx) | |||
525 | } | 525 | } |
526 | 526 | ||
527 | hw->ctl = IOAT_DMA_DESCRIPTOR_CTL_CP_STS; | 527 | hw->ctl = IOAT_DMA_DESCRIPTOR_CTL_CP_STS; |
528 | if (new->async_tx.callback) { | 528 | if (first->async_tx.callback) { |
529 | hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_INT_GN; | 529 | hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_INT_GN; |
530 | if (first != new) { | 530 | if (first != new) { |
531 | /* move callback into to last desc */ | 531 | /* move callback into to last desc */ |
@@ -617,7 +617,7 @@ static dma_cookie_t ioat2_tx_submit(struct dma_async_tx_descriptor *tx) | |||
617 | } | 617 | } |
618 | 618 | ||
619 | hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_CP_STS; | 619 | hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_CP_STS; |
620 | if (new->async_tx.callback) { | 620 | if (first->async_tx.callback) { |
621 | hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_INT_GN; | 621 | hw->ctl |= IOAT_DMA_DESCRIPTOR_CTL_INT_GN; |
622 | if (first != new) { | 622 | if (first != new) { |
623 | /* move callback into to last desc */ | 623 | /* move callback into to last desc */ |
@@ -807,6 +807,12 @@ static void ioat_dma_free_chan_resources(struct dma_chan *chan) | |||
807 | struct ioat_desc_sw *desc, *_desc; | 807 | struct ioat_desc_sw *desc, *_desc; |
808 | int in_use_descs = 0; | 808 | int in_use_descs = 0; |
809 | 809 | ||
810 | /* Before freeing channel resources first check | ||
811 | * if they have been previously allocated for this channel. | ||
812 | */ | ||
813 | if (ioat_chan->desccount == 0) | ||
814 | return; | ||
815 | |||
810 | tasklet_disable(&ioat_chan->cleanup_task); | 816 | tasklet_disable(&ioat_chan->cleanup_task); |
811 | ioat_dma_memcpy_cleanup(ioat_chan); | 817 | ioat_dma_memcpy_cleanup(ioat_chan); |
812 | 818 | ||
@@ -869,6 +875,7 @@ static void ioat_dma_free_chan_resources(struct dma_chan *chan) | |||
869 | ioat_chan->last_completion = ioat_chan->completion_addr = 0; | 875 | ioat_chan->last_completion = ioat_chan->completion_addr = 0; |
870 | ioat_chan->pending = 0; | 876 | ioat_chan->pending = 0; |
871 | ioat_chan->dmacount = 0; | 877 | ioat_chan->dmacount = 0; |
878 | ioat_chan->desccount = 0; | ||
872 | ioat_chan->watchdog_completion = 0; | 879 | ioat_chan->watchdog_completion = 0; |
873 | ioat_chan->last_compl_desc_addr_hw = 0; | 880 | ioat_chan->last_compl_desc_addr_hw = 0; |
874 | ioat_chan->watchdog_tcp_cookie = | 881 | ioat_chan->watchdog_tcp_cookie = |
diff --git a/drivers/dma/iovlock.c b/drivers/dma/iovlock.c index e763d723e4cf..9f6fe46a9b87 100644 --- a/drivers/dma/iovlock.c +++ b/drivers/dma/iovlock.c | |||
@@ -55,7 +55,6 @@ struct dma_pinned_list *dma_pin_iovec_pages(struct iovec *iov, size_t len) | |||
55 | int nr_iovecs = 0; | 55 | int nr_iovecs = 0; |
56 | int iovec_len_used = 0; | 56 | int iovec_len_used = 0; |
57 | int iovec_pages_used = 0; | 57 | int iovec_pages_used = 0; |
58 | long err; | ||
59 | 58 | ||
60 | /* don't pin down non-user-based iovecs */ | 59 | /* don't pin down non-user-based iovecs */ |
61 | if (segment_eq(get_fs(), KERNEL_DS)) | 60 | if (segment_eq(get_fs(), KERNEL_DS)) |
@@ -72,23 +71,21 @@ struct dma_pinned_list *dma_pin_iovec_pages(struct iovec *iov, size_t len) | |||
72 | local_list = kmalloc(sizeof(*local_list) | 71 | local_list = kmalloc(sizeof(*local_list) |
73 | + (nr_iovecs * sizeof (struct dma_page_list)) | 72 | + (nr_iovecs * sizeof (struct dma_page_list)) |
74 | + (iovec_pages_used * sizeof (struct page*)), GFP_KERNEL); | 73 | + (iovec_pages_used * sizeof (struct page*)), GFP_KERNEL); |
75 | if (!local_list) { | 74 | if (!local_list) |
76 | err = -ENOMEM; | ||
77 | goto out; | 75 | goto out; |
78 | } | ||
79 | 76 | ||
80 | /* list of pages starts right after the page list array */ | 77 | /* list of pages starts right after the page list array */ |
81 | pages = (struct page **) &local_list->page_list[nr_iovecs]; | 78 | pages = (struct page **) &local_list->page_list[nr_iovecs]; |
82 | 79 | ||
80 | local_list->nr_iovecs = 0; | ||
81 | |||
83 | for (i = 0; i < nr_iovecs; i++) { | 82 | for (i = 0; i < nr_iovecs; i++) { |
84 | struct dma_page_list *page_list = &local_list->page_list[i]; | 83 | struct dma_page_list *page_list = &local_list->page_list[i]; |
85 | 84 | ||
86 | len -= iov[i].iov_len; | 85 | len -= iov[i].iov_len; |
87 | 86 | ||
88 | if (!access_ok(VERIFY_WRITE, iov[i].iov_base, iov[i].iov_len)) { | 87 | if (!access_ok(VERIFY_WRITE, iov[i].iov_base, iov[i].iov_len)) |
89 | err = -EFAULT; | ||
90 | goto unpin; | 88 | goto unpin; |
91 | } | ||
92 | 89 | ||
93 | page_list->nr_pages = num_pages_spanned(&iov[i]); | 90 | page_list->nr_pages = num_pages_spanned(&iov[i]); |
94 | page_list->base_address = iov[i].iov_base; | 91 | page_list->base_address = iov[i].iov_base; |
@@ -109,10 +106,8 @@ struct dma_pinned_list *dma_pin_iovec_pages(struct iovec *iov, size_t len) | |||
109 | NULL); | 106 | NULL); |
110 | up_read(¤t->mm->mmap_sem); | 107 | up_read(¤t->mm->mmap_sem); |
111 | 108 | ||
112 | if (ret != page_list->nr_pages) { | 109 | if (ret != page_list->nr_pages) |
113 | err = -ENOMEM; | ||
114 | goto unpin; | 110 | goto unpin; |
115 | } | ||
116 | 111 | ||
117 | local_list->nr_iovecs = i + 1; | 112 | local_list->nr_iovecs = i + 1; |
118 | } | 113 | } |
@@ -122,7 +117,7 @@ struct dma_pinned_list *dma_pin_iovec_pages(struct iovec *iov, size_t len) | |||
122 | unpin: | 117 | unpin: |
123 | dma_unpin_iovec_pages(local_list); | 118 | dma_unpin_iovec_pages(local_list); |
124 | out: | 119 | out: |
125 | return ERR_PTR(err); | 120 | return NULL; |
126 | } | 121 | } |
127 | 122 | ||
128 | void dma_unpin_iovec_pages(struct dma_pinned_list *pinned_list) | 123 | void dma_unpin_iovec_pages(struct dma_pinned_list *pinned_list) |
diff --git a/drivers/net/mlx4/en_netdev.c b/drivers/net/mlx4/en_netdev.c index a339afbeed38..a3f732418c49 100644 --- a/drivers/net/mlx4/en_netdev.c +++ b/drivers/net/mlx4/en_netdev.c | |||
@@ -706,7 +706,7 @@ tx_err: | |||
706 | mlx4_en_release_rss_steer(priv); | 706 | mlx4_en_release_rss_steer(priv); |
707 | rx_err: | 707 | rx_err: |
708 | for (i = 0; i < priv->rx_ring_num; i++) | 708 | for (i = 0; i < priv->rx_ring_num; i++) |
709 | mlx4_en_deactivate_rx_ring(priv, &priv->rx_ring[rx_index]); | 709 | mlx4_en_deactivate_rx_ring(priv, &priv->rx_ring[i]); |
710 | cq_err: | 710 | cq_err: |
711 | while (rx_index--) | 711 | while (rx_index--) |
712 | mlx4_en_deactivate_cq(priv, &priv->rx_cq[rx_index]); | 712 | mlx4_en_deactivate_cq(priv, &priv->rx_cq[rx_index]); |
diff --git a/drivers/net/sfc/ethtool.c b/drivers/net/sfc/ethtool.c index fa98af58223e..cd0d0873d978 100644 --- a/drivers/net/sfc/ethtool.c +++ b/drivers/net/sfc/ethtool.c | |||
@@ -174,8 +174,8 @@ static struct efx_ethtool_stat efx_ethtool_stats[] = { | |||
174 | 174 | ||
175 | /* EEPROM range with gPXE configuration */ | 175 | /* EEPROM range with gPXE configuration */ |
176 | #define EFX_ETHTOOL_EEPROM_MAGIC 0xEFAB | 176 | #define EFX_ETHTOOL_EEPROM_MAGIC 0xEFAB |
177 | #define EFX_ETHTOOL_EEPROM_MIN 0x100U | 177 | #define EFX_ETHTOOL_EEPROM_MIN 0x800U |
178 | #define EFX_ETHTOOL_EEPROM_MAX 0x400U | 178 | #define EFX_ETHTOOL_EEPROM_MAX 0x1800U |
179 | 179 | ||
180 | /************************************************************************** | 180 | /************************************************************************** |
181 | * | 181 | * |
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c index 1164c52e2c0a..8e90891f0e42 100644 --- a/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c | |||
@@ -2184,19 +2184,20 @@ static void hso_create_rfkill(struct hso_device *hso_dev, | |||
2184 | struct usb_interface *interface) | 2184 | struct usb_interface *interface) |
2185 | { | 2185 | { |
2186 | struct hso_net *hso_net = dev2net(hso_dev); | 2186 | struct hso_net *hso_net = dev2net(hso_dev); |
2187 | struct device *dev = hso_dev->dev; | 2187 | struct device *dev = &hso_net->net->dev; |
2188 | char *rfkn; | 2188 | char *rfkn; |
2189 | 2189 | ||
2190 | hso_net->rfkill = rfkill_allocate(&interface_to_usbdev(interface)->dev, | 2190 | hso_net->rfkill = rfkill_allocate(&interface_to_usbdev(interface)->dev, |
2191 | RFKILL_TYPE_WLAN); | 2191 | RFKILL_TYPE_WWAN); |
2192 | if (!hso_net->rfkill) { | 2192 | if (!hso_net->rfkill) { |
2193 | dev_err(dev, "%s - Out of memory", __func__); | 2193 | dev_err(dev, "%s - Out of memory\n", __func__); |
2194 | return; | 2194 | return; |
2195 | } | 2195 | } |
2196 | rfkn = kzalloc(20, GFP_KERNEL); | 2196 | rfkn = kzalloc(20, GFP_KERNEL); |
2197 | if (!rfkn) { | 2197 | if (!rfkn) { |
2198 | rfkill_free(hso_net->rfkill); | 2198 | rfkill_free(hso_net->rfkill); |
2199 | dev_err(dev, "%s - Out of memory", __func__); | 2199 | hso_net->rfkill = NULL; |
2200 | dev_err(dev, "%s - Out of memory\n", __func__); | ||
2200 | return; | 2201 | return; |
2201 | } | 2202 | } |
2202 | snprintf(rfkn, 20, "hso-%d", | 2203 | snprintf(rfkn, 20, "hso-%d", |
@@ -2209,7 +2210,8 @@ static void hso_create_rfkill(struct hso_device *hso_dev, | |||
2209 | kfree(rfkn); | 2210 | kfree(rfkn); |
2210 | hso_net->rfkill->name = NULL; | 2211 | hso_net->rfkill->name = NULL; |
2211 | rfkill_free(hso_net->rfkill); | 2212 | rfkill_free(hso_net->rfkill); |
2212 | dev_err(dev, "%s - Failed to register rfkill", __func__); | 2213 | hso_net->rfkill = NULL; |
2214 | dev_err(dev, "%s - Failed to register rfkill\n", __func__); | ||
2213 | return; | 2215 | return; |
2214 | } | 2216 | } |
2215 | } | 2217 | } |
diff --git a/drivers/ssb/Kconfig b/drivers/ssb/Kconfig index 307b1f62d949..b1b947edcf01 100644 --- a/drivers/ssb/Kconfig +++ b/drivers/ssb/Kconfig | |||
@@ -1,10 +1,11 @@ | |||
1 | menu "Sonics Silicon Backplane" | ||
2 | |||
3 | config SSB_POSSIBLE | 1 | config SSB_POSSIBLE |
4 | bool | 2 | bool |
5 | depends on HAS_IOMEM && HAS_DMA | 3 | depends on HAS_IOMEM && HAS_DMA |
6 | default y | 4 | default y |
7 | 5 | ||
6 | menu "Sonics Silicon Backplane" | ||
7 | depends on SSB_POSSIBLE | ||
8 | |||
8 | config SSB | 9 | config SSB |
9 | tristate "Sonics Silicon Backplane support" | 10 | tristate "Sonics Silicon Backplane support" |
10 | depends on SSB_POSSIBLE | 11 | depends on SSB_POSSIBLE |
diff --git a/include/linux/ssb/ssb.h b/include/linux/ssb/ssb.h index e530026eedf7..17d9b58f6379 100644 --- a/include/linux/ssb/ssb.h +++ b/include/linux/ssb/ssb.h | |||
@@ -427,12 +427,16 @@ static inline int ssb_dma_mapping_error(struct ssb_device *dev, dma_addr_t addr) | |||
427 | { | 427 | { |
428 | switch (dev->bus->bustype) { | 428 | switch (dev->bus->bustype) { |
429 | case SSB_BUSTYPE_PCI: | 429 | case SSB_BUSTYPE_PCI: |
430 | #ifdef CONFIG_SSB_PCIHOST | ||
430 | return pci_dma_mapping_error(dev->bus->host_pci, addr); | 431 | return pci_dma_mapping_error(dev->bus->host_pci, addr); |
432 | #endif | ||
433 | break; | ||
431 | case SSB_BUSTYPE_SSB: | 434 | case SSB_BUSTYPE_SSB: |
432 | return dma_mapping_error(dev->dev, addr); | 435 | return dma_mapping_error(dev->dev, addr); |
433 | default: | 436 | default: |
434 | __ssb_dma_not_implemented(dev); | 437 | break; |
435 | } | 438 | } |
439 | __ssb_dma_not_implemented(dev); | ||
436 | return -ENOSYS; | 440 | return -ENOSYS; |
437 | } | 441 | } |
438 | 442 | ||
@@ -441,12 +445,16 @@ static inline dma_addr_t ssb_dma_map_single(struct ssb_device *dev, void *p, | |||
441 | { | 445 | { |
442 | switch (dev->bus->bustype) { | 446 | switch (dev->bus->bustype) { |
443 | case SSB_BUSTYPE_PCI: | 447 | case SSB_BUSTYPE_PCI: |
448 | #ifdef CONFIG_SSB_PCIHOST | ||
444 | return pci_map_single(dev->bus->host_pci, p, size, dir); | 449 | return pci_map_single(dev->bus->host_pci, p, size, dir); |
450 | #endif | ||
451 | break; | ||
445 | case SSB_BUSTYPE_SSB: | 452 | case SSB_BUSTYPE_SSB: |
446 | return dma_map_single(dev->dev, p, size, dir); | 453 | return dma_map_single(dev->dev, p, size, dir); |
447 | default: | 454 | default: |
448 | __ssb_dma_not_implemented(dev); | 455 | break; |
449 | } | 456 | } |
457 | __ssb_dma_not_implemented(dev); | ||
450 | return 0; | 458 | return 0; |
451 | } | 459 | } |
452 | 460 | ||
@@ -455,14 +463,18 @@ static inline void ssb_dma_unmap_single(struct ssb_device *dev, dma_addr_t dma_a | |||
455 | { | 463 | { |
456 | switch (dev->bus->bustype) { | 464 | switch (dev->bus->bustype) { |
457 | case SSB_BUSTYPE_PCI: | 465 | case SSB_BUSTYPE_PCI: |
466 | #ifdef CONFIG_SSB_PCIHOST | ||
458 | pci_unmap_single(dev->bus->host_pci, dma_addr, size, dir); | 467 | pci_unmap_single(dev->bus->host_pci, dma_addr, size, dir); |
459 | return; | 468 | return; |
469 | #endif | ||
470 | break; | ||
460 | case SSB_BUSTYPE_SSB: | 471 | case SSB_BUSTYPE_SSB: |
461 | dma_unmap_single(dev->dev, dma_addr, size, dir); | 472 | dma_unmap_single(dev->dev, dma_addr, size, dir); |
462 | return; | 473 | return; |
463 | default: | 474 | default: |
464 | __ssb_dma_not_implemented(dev); | 475 | break; |
465 | } | 476 | } |
477 | __ssb_dma_not_implemented(dev); | ||
466 | } | 478 | } |
467 | 479 | ||
468 | static inline void ssb_dma_sync_single_for_cpu(struct ssb_device *dev, | 480 | static inline void ssb_dma_sync_single_for_cpu(struct ssb_device *dev, |
@@ -472,15 +484,19 @@ static inline void ssb_dma_sync_single_for_cpu(struct ssb_device *dev, | |||
472 | { | 484 | { |
473 | switch (dev->bus->bustype) { | 485 | switch (dev->bus->bustype) { |
474 | case SSB_BUSTYPE_PCI: | 486 | case SSB_BUSTYPE_PCI: |
487 | #ifdef CONFIG_SSB_PCIHOST | ||
475 | pci_dma_sync_single_for_cpu(dev->bus->host_pci, dma_addr, | 488 | pci_dma_sync_single_for_cpu(dev->bus->host_pci, dma_addr, |
476 | size, dir); | 489 | size, dir); |
477 | return; | 490 | return; |
491 | #endif | ||
492 | break; | ||
478 | case SSB_BUSTYPE_SSB: | 493 | case SSB_BUSTYPE_SSB: |
479 | dma_sync_single_for_cpu(dev->dev, dma_addr, size, dir); | 494 | dma_sync_single_for_cpu(dev->dev, dma_addr, size, dir); |
480 | return; | 495 | return; |
481 | default: | 496 | default: |
482 | __ssb_dma_not_implemented(dev); | 497 | break; |
483 | } | 498 | } |
499 | __ssb_dma_not_implemented(dev); | ||
484 | } | 500 | } |
485 | 501 | ||
486 | static inline void ssb_dma_sync_single_for_device(struct ssb_device *dev, | 502 | static inline void ssb_dma_sync_single_for_device(struct ssb_device *dev, |
@@ -490,15 +506,19 @@ static inline void ssb_dma_sync_single_for_device(struct ssb_device *dev, | |||
490 | { | 506 | { |
491 | switch (dev->bus->bustype) { | 507 | switch (dev->bus->bustype) { |
492 | case SSB_BUSTYPE_PCI: | 508 | case SSB_BUSTYPE_PCI: |
509 | #ifdef CONFIG_SSB_PCIHOST | ||
493 | pci_dma_sync_single_for_device(dev->bus->host_pci, dma_addr, | 510 | pci_dma_sync_single_for_device(dev->bus->host_pci, dma_addr, |
494 | size, dir); | 511 | size, dir); |
495 | return; | 512 | return; |
513 | #endif | ||
514 | break; | ||
496 | case SSB_BUSTYPE_SSB: | 515 | case SSB_BUSTYPE_SSB: |
497 | dma_sync_single_for_device(dev->dev, dma_addr, size, dir); | 516 | dma_sync_single_for_device(dev->dev, dma_addr, size, dir); |
498 | return; | 517 | return; |
499 | default: | 518 | default: |
500 | __ssb_dma_not_implemented(dev); | 519 | break; |
501 | } | 520 | } |
521 | __ssb_dma_not_implemented(dev); | ||
502 | } | 522 | } |
503 | 523 | ||
504 | static inline void ssb_dma_sync_single_range_for_cpu(struct ssb_device *dev, | 524 | static inline void ssb_dma_sync_single_range_for_cpu(struct ssb_device *dev, |
@@ -509,17 +529,21 @@ static inline void ssb_dma_sync_single_range_for_cpu(struct ssb_device *dev, | |||
509 | { | 529 | { |
510 | switch (dev->bus->bustype) { | 530 | switch (dev->bus->bustype) { |
511 | case SSB_BUSTYPE_PCI: | 531 | case SSB_BUSTYPE_PCI: |
532 | #ifdef CONFIG_SSB_PCIHOST | ||
512 | /* Just sync everything. That's all the PCI API can do. */ | 533 | /* Just sync everything. That's all the PCI API can do. */ |
513 | pci_dma_sync_single_for_cpu(dev->bus->host_pci, dma_addr, | 534 | pci_dma_sync_single_for_cpu(dev->bus->host_pci, dma_addr, |
514 | offset + size, dir); | 535 | offset + size, dir); |
515 | return; | 536 | return; |
537 | #endif | ||
538 | break; | ||
516 | case SSB_BUSTYPE_SSB: | 539 | case SSB_BUSTYPE_SSB: |
517 | dma_sync_single_range_for_cpu(dev->dev, dma_addr, offset, | 540 | dma_sync_single_range_for_cpu(dev->dev, dma_addr, offset, |
518 | size, dir); | 541 | size, dir); |
519 | return; | 542 | return; |
520 | default: | 543 | default: |
521 | __ssb_dma_not_implemented(dev); | 544 | break; |
522 | } | 545 | } |
546 | __ssb_dma_not_implemented(dev); | ||
523 | } | 547 | } |
524 | 548 | ||
525 | static inline void ssb_dma_sync_single_range_for_device(struct ssb_device *dev, | 549 | static inline void ssb_dma_sync_single_range_for_device(struct ssb_device *dev, |
@@ -530,17 +554,21 @@ static inline void ssb_dma_sync_single_range_for_device(struct ssb_device *dev, | |||
530 | { | 554 | { |
531 | switch (dev->bus->bustype) { | 555 | switch (dev->bus->bustype) { |
532 | case SSB_BUSTYPE_PCI: | 556 | case SSB_BUSTYPE_PCI: |
557 | #ifdef CONFIG_SSB_PCIHOST | ||
533 | /* Just sync everything. That's all the PCI API can do. */ | 558 | /* Just sync everything. That's all the PCI API can do. */ |
534 | pci_dma_sync_single_for_device(dev->bus->host_pci, dma_addr, | 559 | pci_dma_sync_single_for_device(dev->bus->host_pci, dma_addr, |
535 | offset + size, dir); | 560 | offset + size, dir); |
536 | return; | 561 | return; |
562 | #endif | ||
563 | break; | ||
537 | case SSB_BUSTYPE_SSB: | 564 | case SSB_BUSTYPE_SSB: |
538 | dma_sync_single_range_for_device(dev->dev, dma_addr, offset, | 565 | dma_sync_single_range_for_device(dev->dev, dma_addr, offset, |
539 | size, dir); | 566 | size, dir); |
540 | return; | 567 | return; |
541 | default: | 568 | default: |
542 | __ssb_dma_not_implemented(dev); | 569 | break; |
543 | } | 570 | } |
571 | __ssb_dma_not_implemented(dev); | ||
544 | } | 572 | } |
545 | 573 | ||
546 | 574 | ||
diff --git a/net/8021q/vlanproc.c b/net/8021q/vlanproc.c index 0feefa4e1a4b..3628e0a81b40 100644 --- a/net/8021q/vlanproc.c +++ b/net/8021q/vlanproc.c | |||
@@ -314,7 +314,7 @@ static int vlandev_seq_show(struct seq_file *seq, void *offset) | |||
314 | dev_info->ingress_priority_map[6], | 314 | dev_info->ingress_priority_map[6], |
315 | dev_info->ingress_priority_map[7]); | 315 | dev_info->ingress_priority_map[7]); |
316 | 316 | ||
317 | seq_printf(seq, "EGRESSS priority Mappings: "); | 317 | seq_printf(seq, " EGRESS priority mappings: "); |
318 | for (i = 0; i < 16; i++) { | 318 | for (i = 0; i < 16; i++) { |
319 | const struct vlan_priority_tci_mapping *mp | 319 | const struct vlan_priority_tci_mapping *mp |
320 | = dev_info->egress_priority_map[i]; | 320 | = dev_info->egress_priority_map[i]; |
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index ebb6b94f8af2..d49ef8301b5b 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
@@ -486,8 +486,8 @@ int skb_recycle_check(struct sk_buff *skb, int skb_size) | |||
486 | shinfo->frag_list = NULL; | 486 | shinfo->frag_list = NULL; |
487 | 487 | ||
488 | memset(skb, 0, offsetof(struct sk_buff, tail)); | 488 | memset(skb, 0, offsetof(struct sk_buff, tail)); |
489 | skb_reset_tail_pointer(skb); | ||
490 | skb->data = skb->head + NET_SKB_PAD; | 489 | skb->data = skb->head + NET_SKB_PAD; |
490 | skb_reset_tail_pointer(skb); | ||
491 | 491 | ||
492 | return 1; | 492 | return 1; |
493 | } | 493 | } |
diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 37616884b8a9..1af5a79309e9 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c | |||
@@ -10,6 +10,7 @@ | |||
10 | 10 | ||
11 | #include <linux/list.h> | 11 | #include <linux/list.h> |
12 | #include <linux/netdevice.h> | 12 | #include <linux/netdevice.h> |
13 | #include <linux/etherdevice.h> | ||
13 | #include <linux/phy.h> | 14 | #include <linux/phy.h> |
14 | #include "dsa_priv.h" | 15 | #include "dsa_priv.h" |
15 | 16 | ||
@@ -49,11 +50,57 @@ void dsa_slave_mii_bus_init(struct dsa_switch *ds) | |||
49 | /* slave device handling ****************************************************/ | 50 | /* slave device handling ****************************************************/ |
50 | static int dsa_slave_open(struct net_device *dev) | 51 | static int dsa_slave_open(struct net_device *dev) |
51 | { | 52 | { |
53 | struct dsa_slave_priv *p = netdev_priv(dev); | ||
54 | struct net_device *master = p->parent->master_netdev; | ||
55 | int err; | ||
56 | |||
57 | if (!(master->flags & IFF_UP)) | ||
58 | return -ENETDOWN; | ||
59 | |||
60 | if (compare_ether_addr(dev->dev_addr, master->dev_addr)) { | ||
61 | err = dev_unicast_add(master, dev->dev_addr, ETH_ALEN); | ||
62 | if (err < 0) | ||
63 | goto out; | ||
64 | } | ||
65 | |||
66 | if (dev->flags & IFF_ALLMULTI) { | ||
67 | err = dev_set_allmulti(master, 1); | ||
68 | if (err < 0) | ||
69 | goto del_unicast; | ||
70 | } | ||
71 | if (dev->flags & IFF_PROMISC) { | ||
72 | err = dev_set_promiscuity(master, 1); | ||
73 | if (err < 0) | ||
74 | goto clear_allmulti; | ||
75 | } | ||
76 | |||
52 | return 0; | 77 | return 0; |
78 | |||
79 | clear_allmulti: | ||
80 | if (dev->flags & IFF_ALLMULTI) | ||
81 | dev_set_allmulti(master, -1); | ||
82 | del_unicast: | ||
83 | if (compare_ether_addr(dev->dev_addr, master->dev_addr)) | ||
84 | dev_unicast_delete(master, dev->dev_addr, ETH_ALEN); | ||
85 | out: | ||
86 | return err; | ||
53 | } | 87 | } |
54 | 88 | ||
55 | static int dsa_slave_close(struct net_device *dev) | 89 | static int dsa_slave_close(struct net_device *dev) |
56 | { | 90 | { |
91 | struct dsa_slave_priv *p = netdev_priv(dev); | ||
92 | struct net_device *master = p->parent->master_netdev; | ||
93 | |||
94 | dev_mc_unsync(master, dev); | ||
95 | dev_unicast_unsync(master, dev); | ||
96 | if (dev->flags & IFF_ALLMULTI) | ||
97 | dev_set_allmulti(master, -1); | ||
98 | if (dev->flags & IFF_PROMISC) | ||
99 | dev_set_promiscuity(master, -1); | ||
100 | |||
101 | if (compare_ether_addr(dev->dev_addr, master->dev_addr)) | ||
102 | dev_unicast_delete(master, dev->dev_addr, ETH_ALEN); | ||
103 | |||
57 | return 0; | 104 | return 0; |
58 | } | 105 | } |
59 | 106 | ||
@@ -77,9 +124,30 @@ static void dsa_slave_set_rx_mode(struct net_device *dev) | |||
77 | dev_unicast_sync(master, dev); | 124 | dev_unicast_sync(master, dev); |
78 | } | 125 | } |
79 | 126 | ||
80 | static int dsa_slave_set_mac_address(struct net_device *dev, void *addr) | 127 | static int dsa_slave_set_mac_address(struct net_device *dev, void *a) |
81 | { | 128 | { |
82 | memcpy(dev->dev_addr, addr + 2, 6); | 129 | struct dsa_slave_priv *p = netdev_priv(dev); |
130 | struct net_device *master = p->parent->master_netdev; | ||
131 | struct sockaddr *addr = a; | ||
132 | int err; | ||
133 | |||
134 | if (!is_valid_ether_addr(addr->sa_data)) | ||
135 | return -EADDRNOTAVAIL; | ||
136 | |||
137 | if (!(dev->flags & IFF_UP)) | ||
138 | goto out; | ||
139 | |||
140 | if (compare_ether_addr(addr->sa_data, master->dev_addr)) { | ||
141 | err = dev_unicast_add(master, addr->sa_data, ETH_ALEN); | ||
142 | if (err < 0) | ||
143 | return err; | ||
144 | } | ||
145 | |||
146 | if (compare_ether_addr(dev->dev_addr, master->dev_addr)) | ||
147 | dev_unicast_delete(master, dev->dev_addr, ETH_ALEN); | ||
148 | |||
149 | out: | ||
150 | memcpy(dev->dev_addr, addr->sa_data, ETH_ALEN); | ||
83 | 151 | ||
84 | return 0; | 152 | return 0; |
85 | } | 153 | } |
diff --git a/net/dsa/tag_dsa.c b/net/dsa/tag_dsa.c index bdc0510b53b7..31866543332e 100644 --- a/net/dsa/tag_dsa.c +++ b/net/dsa/tag_dsa.c | |||
@@ -159,6 +159,7 @@ static int dsa_rcv(struct sk_buff *skb, struct net_device *dev, | |||
159 | 159 | ||
160 | skb->dev = ds->ports[source_port]; | 160 | skb->dev = ds->ports[source_port]; |
161 | skb_push(skb, ETH_HLEN); | 161 | skb_push(skb, ETH_HLEN); |
162 | skb->pkt_type = PACKET_HOST; | ||
162 | skb->protocol = eth_type_trans(skb, skb->dev); | 163 | skb->protocol = eth_type_trans(skb, skb->dev); |
163 | 164 | ||
164 | skb->dev->last_rx = jiffies; | 165 | skb->dev->last_rx = jiffies; |
diff --git a/net/dsa/tag_edsa.c b/net/dsa/tag_edsa.c index f985ea993843..9f4ce55eae59 100644 --- a/net/dsa/tag_edsa.c +++ b/net/dsa/tag_edsa.c | |||
@@ -178,6 +178,7 @@ static int edsa_rcv(struct sk_buff *skb, struct net_device *dev, | |||
178 | 178 | ||
179 | skb->dev = ds->ports[source_port]; | 179 | skb->dev = ds->ports[source_port]; |
180 | skb_push(skb, ETH_HLEN); | 180 | skb_push(skb, ETH_HLEN); |
181 | skb->pkt_type = PACKET_HOST; | ||
181 | skb->protocol = eth_type_trans(skb, skb->dev); | 182 | skb->protocol = eth_type_trans(skb, skb->dev); |
182 | 183 | ||
183 | skb->dev->last_rx = jiffies; | 184 | skb->dev->last_rx = jiffies; |
diff --git a/net/dsa/tag_trailer.c b/net/dsa/tag_trailer.c index d3117764b2c2..efd26697e716 100644 --- a/net/dsa/tag_trailer.c +++ b/net/dsa/tag_trailer.c | |||
@@ -95,6 +95,7 @@ static int trailer_rcv(struct sk_buff *skb, struct net_device *dev, | |||
95 | 95 | ||
96 | skb->dev = ds->ports[source_port]; | 96 | skb->dev = ds->ports[source_port]; |
97 | skb_push(skb, ETH_HLEN); | 97 | skb_push(skb, ETH_HLEN); |
98 | skb->pkt_type = PACKET_HOST; | ||
98 | skb->protocol = eth_type_trans(skb, skb->dev); | 99 | skb->protocol = eth_type_trans(skb, skb->dev); |
99 | 100 | ||
100 | skb->dev->last_rx = jiffies; | 101 | skb->dev->last_rx = jiffies; |
diff --git a/net/ipv4/proc.c b/net/ipv4/proc.c index 8f5a403f6f6b..a631a1f110ca 100644 --- a/net/ipv4/proc.c +++ b/net/ipv4/proc.c | |||
@@ -237,43 +237,45 @@ static const struct snmp_mib snmp4_net_list[] = { | |||
237 | SNMP_MIB_SENTINEL | 237 | SNMP_MIB_SENTINEL |
238 | }; | 238 | }; |
239 | 239 | ||
240 | static void icmpmsg_put_line(struct seq_file *seq, unsigned long *vals, | ||
241 | unsigned short *type, int count) | ||
242 | { | ||
243 | int j; | ||
244 | |||
245 | if (count) { | ||
246 | seq_printf(seq, "\nIcmpMsg:"); | ||
247 | for (j = 0; j < count; ++j) | ||
248 | seq_printf(seq, " %sType%u", | ||
249 | type[j] & 0x100 ? "Out" : "In", | ||
250 | type[j] & 0xff); | ||
251 | seq_printf(seq, "\nIcmpMsg:"); | ||
252 | for (j = 0; j < count; ++j) | ||
253 | seq_printf(seq, " %lu", vals[j]); | ||
254 | } | ||
255 | } | ||
256 | |||
240 | static void icmpmsg_put(struct seq_file *seq) | 257 | static void icmpmsg_put(struct seq_file *seq) |
241 | { | 258 | { |
242 | #define PERLINE 16 | 259 | #define PERLINE 16 |
243 | 260 | ||
244 | int j, i, count; | 261 | int i, count; |
245 | static int out[PERLINE]; | 262 | unsigned short type[PERLINE]; |
263 | unsigned long vals[PERLINE], val; | ||
246 | struct net *net = seq->private; | 264 | struct net *net = seq->private; |
247 | 265 | ||
248 | count = 0; | 266 | count = 0; |
249 | for (i = 0; i < ICMPMSG_MIB_MAX; i++) { | 267 | for (i = 0; i < ICMPMSG_MIB_MAX; i++) { |
250 | 268 | val = snmp_fold_field((void **) net->mib.icmpmsg_statistics, i); | |
251 | if (snmp_fold_field((void **) net->mib.icmpmsg_statistics, i)) | 269 | if (val) { |
252 | out[count++] = i; | 270 | type[count] = i; |
253 | if (count < PERLINE) | 271 | vals[count++] = val; |
254 | continue; | 272 | } |
255 | 273 | if (count == PERLINE) { | |
256 | seq_printf(seq, "\nIcmpMsg:"); | 274 | icmpmsg_put_line(seq, vals, type, count); |
257 | for (j = 0; j < PERLINE; ++j) | 275 | count = 0; |
258 | seq_printf(seq, " %sType%u", i & 0x100 ? "Out" : "In", | 276 | } |
259 | i & 0xff); | ||
260 | seq_printf(seq, "\nIcmpMsg: "); | ||
261 | for (j = 0; j < PERLINE; ++j) | ||
262 | seq_printf(seq, " %lu", | ||
263 | snmp_fold_field((void **) net->mib.icmpmsg_statistics, | ||
264 | out[j])); | ||
265 | seq_putc(seq, '\n'); | ||
266 | } | ||
267 | if (count) { | ||
268 | seq_printf(seq, "\nIcmpMsg:"); | ||
269 | for (j = 0; j < count; ++j) | ||
270 | seq_printf(seq, " %sType%u", out[j] & 0x100 ? "Out" : | ||
271 | "In", out[j] & 0xff); | ||
272 | seq_printf(seq, "\nIcmpMsg:"); | ||
273 | for (j = 0; j < count; ++j) | ||
274 | seq_printf(seq, " %lu", snmp_fold_field((void **) | ||
275 | net->mib.icmpmsg_statistics, out[j])); | ||
276 | } | 277 | } |
278 | icmpmsg_put_line(seq, vals, type, count); | ||
277 | 279 | ||
278 | #undef PERLINE | 280 | #undef PERLINE |
279 | } | 281 | } |
diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c index 182f8a177e7f..52a7eb0e2c2c 100644 --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c | |||
@@ -981,14 +981,15 @@ int __init ip6_mr_init(void) | |||
981 | goto proc_cache_fail; | 981 | goto proc_cache_fail; |
982 | #endif | 982 | #endif |
983 | return 0; | 983 | return 0; |
984 | reg_notif_fail: | ||
985 | kmem_cache_destroy(mrt_cachep); | ||
986 | #ifdef CONFIG_PROC_FS | 984 | #ifdef CONFIG_PROC_FS |
987 | proc_vif_fail: | ||
988 | unregister_netdevice_notifier(&ip6_mr_notifier); | ||
989 | proc_cache_fail: | 985 | proc_cache_fail: |
990 | proc_net_remove(&init_net, "ip6_mr_vif"); | 986 | proc_net_remove(&init_net, "ip6_mr_vif"); |
987 | proc_vif_fail: | ||
988 | unregister_netdevice_notifier(&ip6_mr_notifier); | ||
991 | #endif | 989 | #endif |
990 | reg_notif_fail: | ||
991 | del_timer(&ipmr_expire_timer); | ||
992 | kmem_cache_destroy(mrt_cachep); | ||
992 | return err; | 993 | return err; |
993 | } | 994 | } |
994 | 995 | ||
diff --git a/net/key/af_key.c b/net/key/af_key.c index 3440a4637f01..5b22e011653b 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c | |||
@@ -3188,6 +3188,7 @@ static struct xfrm_policy *pfkey_compile_policy(struct sock *sk, int opt, | |||
3188 | return xp; | 3188 | return xp; |
3189 | 3189 | ||
3190 | out: | 3190 | out: |
3191 | xp->walk.dead = 1; | ||
3191 | xfrm_policy_destroy(xp); | 3192 | xfrm_policy_destroy(xp); |
3192 | return NULL; | 3193 | return NULL; |
3193 | } | 3194 | } |
diff --git a/net/mac80211/debugfs_sta.c b/net/mac80211/debugfs_sta.c index 189d0bafa91a..b85c4f27b361 100644 --- a/net/mac80211/debugfs_sta.c +++ b/net/mac80211/debugfs_sta.c | |||
@@ -199,7 +199,7 @@ static ssize_t sta_agg_status_write(struct file *file, | |||
199 | /* toggle Rx aggregation command */ | 199 | /* toggle Rx aggregation command */ |
200 | tid_num = tid_num - 100; | 200 | tid_num = tid_num - 100; |
201 | if (tid_static_rx[tid_num] == 1) { | 201 | if (tid_static_rx[tid_num] == 1) { |
202 | strcpy(state, "off "); | 202 | strcpy(state, "off"); |
203 | ieee80211_sta_stop_rx_ba_session(sta->sdata, da, tid_num, 0, | 203 | ieee80211_sta_stop_rx_ba_session(sta->sdata, da, tid_num, 0, |
204 | WLAN_REASON_QSTA_REQUIRE_SETUP); | 204 | WLAN_REASON_QSTA_REQUIRE_SETUP); |
205 | sta->ampdu_mlme.tid_state_rx[tid_num] |= | 205 | sta->ampdu_mlme.tid_state_rx[tid_num] |= |
diff --git a/net/netfilter/ipvs/ip_vs_xmit.c b/net/netfilter/ipvs/ip_vs_xmit.c index 02ddc2b3ce2e..e90d52f199bc 100644 --- a/net/netfilter/ipvs/ip_vs_xmit.c +++ b/net/netfilter/ipvs/ip_vs_xmit.c | |||
@@ -713,7 +713,8 @@ ip_vs_tunnel_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp, | |||
713 | iph = ipv6_hdr(skb); | 713 | iph = ipv6_hdr(skb); |
714 | iph->version = 6; | 714 | iph->version = 6; |
715 | iph->nexthdr = IPPROTO_IPV6; | 715 | iph->nexthdr = IPPROTO_IPV6; |
716 | iph->payload_len = old_iph->payload_len + sizeof(old_iph); | 716 | iph->payload_len = old_iph->payload_len; |
717 | be16_add_cpu(&iph->payload_len, sizeof(*old_iph)); | ||
717 | iph->priority = old_iph->priority; | 718 | iph->priority = old_iph->priority; |
718 | memset(&iph->flow_lbl, 0, sizeof(iph->flow_lbl)); | 719 | memset(&iph->flow_lbl, 0, sizeof(iph->flow_lbl)); |
719 | iph->daddr = rt->rt6i_dst.addr; | 720 | iph->daddr = rt->rt6i_dst.addr; |
diff --git a/security/keys/internal.h b/security/keys/internal.h index b39f5c2e2c4b..239098f0fd76 100644 --- a/security/keys/internal.h +++ b/security/keys/internal.h | |||
@@ -107,6 +107,7 @@ extern key_ref_t search_process_keyrings(struct key_type *type, | |||
107 | 107 | ||
108 | extern struct key *find_keyring_by_name(const char *name, bool skip_perm_check); | 108 | extern struct key *find_keyring_by_name(const char *name, bool skip_perm_check); |
109 | 109 | ||
110 | extern int install_user_keyrings(struct task_struct *tsk); | ||
110 | extern int install_thread_keyring(struct task_struct *tsk); | 111 | extern int install_thread_keyring(struct task_struct *tsk); |
111 | extern int install_process_keyring(struct task_struct *tsk); | 112 | extern int install_process_keyring(struct task_struct *tsk); |
112 | 113 | ||
diff --git a/security/keys/process_keys.c b/security/keys/process_keys.c index 5be6d018759a..45b240af6dbe 100644 --- a/security/keys/process_keys.c +++ b/security/keys/process_keys.c | |||
@@ -40,7 +40,7 @@ struct key_user root_key_user = { | |||
40 | /* | 40 | /* |
41 | * install user and user session keyrings for a particular UID | 41 | * install user and user session keyrings for a particular UID |
42 | */ | 42 | */ |
43 | static int install_user_keyrings(struct task_struct *tsk) | 43 | int install_user_keyrings(struct task_struct *tsk) |
44 | { | 44 | { |
45 | struct user_struct *user = tsk->user; | 45 | struct user_struct *user = tsk->user; |
46 | struct key *uid_keyring, *session_keyring; | 46 | struct key *uid_keyring, *session_keyring; |
diff --git a/security/keys/request_key.c b/security/keys/request_key.c index ba32ca6469bd..abea08f87fe2 100644 --- a/security/keys/request_key.c +++ b/security/keys/request_key.c | |||
@@ -74,6 +74,10 @@ static int call_sbin_request_key(struct key_construction *cons, | |||
74 | 74 | ||
75 | kenter("{%d},{%d},%s", key->serial, authkey->serial, op); | 75 | kenter("{%d},{%d},%s", key->serial, authkey->serial, op); |
76 | 76 | ||
77 | ret = install_user_keyrings(tsk); | ||
78 | if (ret < 0) | ||
79 | goto error_alloc; | ||
80 | |||
77 | /* allocate a new session keyring */ | 81 | /* allocate a new session keyring */ |
78 | sprintf(desc, "_req.%u", key->serial); | 82 | sprintf(desc, "_req.%u", key->serial); |
79 | 83 | ||