aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/sparc/kernel/head.S1
-rw-r--r--arch/sparc64/defconfig232
-rw-r--r--arch/x86/Kconfig2
-rw-r--r--drivers/ata/libata-core.c2
-rw-r--r--drivers/ata/libata-eh.c21
-rw-r--r--drivers/ata/pata_cs5535.c1
-rw-r--r--drivers/ata/pata_cs5536.c1
-rw-r--r--drivers/ata/pata_pcmcia.c1
-rw-r--r--drivers/ata/pata_sch.c2
-rw-r--r--drivers/dca/dca-core.c2
-rw-r--r--drivers/dma/ioat_dma.c11
-rw-r--r--drivers/dma/iovlock.c17
-rw-r--r--drivers/net/mlx4/en_netdev.c2
-rw-r--r--drivers/net/sfc/ethtool.c4
-rw-r--r--drivers/net/usb/hso.c12
-rw-r--r--drivers/ssb/Kconfig5
-rw-r--r--include/linux/ssb/ssb.h42
-rw-r--r--net/8021q/vlanproc.c2
-rw-r--r--net/core/skbuff.c2
-rw-r--r--net/dsa/slave.c72
-rw-r--r--net/dsa/tag_dsa.c1
-rw-r--r--net/dsa/tag_edsa.c1
-rw-r--r--net/dsa/tag_trailer.c1
-rw-r--r--net/ipv4/proc.c58
-rw-r--r--net/ipv6/ip6mr.c9
-rw-r--r--net/key/af_key.c1
-rw-r--r--net/mac80211/debugfs_sta.c2
-rw-r--r--net/netfilter/ipvs/ip_vs_xmit.c3
-rw-r--r--security/keys/internal.h1
-rw-r--r--security/keys/process_keys.c2
-rw-r--r--security/keys/request_key.c4
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
469current_pc: 468current_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#
6CONFIG_SPARC=y 6CONFIG_SPARC=y
7CONFIG_SPARC64=y 7CONFIG_SPARC64=y
@@ -62,7 +62,6 @@ CONFIG_SYSCTL=y
62# CONFIG_EMBEDDED is not set 62# CONFIG_EMBEDDED is not set
63CONFIG_UID16=y 63CONFIG_UID16=y
64CONFIG_SYSCTL_SYSCALL=y 64CONFIG_SYSCTL_SYSCALL=y
65CONFIG_SYSCTL_SYSCALL_CHECK=y
66CONFIG_KALLSYMS=y 65CONFIG_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
79CONFIG_TIMERFD=y 78CONFIG_TIMERFD=y
80CONFIG_EVENTFD=y 79CONFIG_EVENTFD=y
81CONFIG_SHMEM=y 80CONFIG_SHMEM=y
81CONFIG_AIO=y
82CONFIG_VM_EVENT_COUNTERS=y 82CONFIG_VM_EVENT_COUNTERS=y
83CONFIG_PCI_QUIRKS=y
83CONFIG_SLUB_DEBUG=y 84CONFIG_SLUB_DEBUG=y
84# CONFIG_SLAB is not set 85# CONFIG_SLAB is not set
85CONFIG_SLUB=y 86CONFIG_SLUB=y
@@ -92,9 +93,9 @@ CONFIG_KPROBES=y
92CONFIG_KRETPROBES=y 93CONFIG_KRETPROBES=y
93CONFIG_HAVE_KPROBES=y 94CONFIG_HAVE_KPROBES=y
94CONFIG_HAVE_KRETPROBES=y 95CONFIG_HAVE_KRETPROBES=y
95# CONFIG_HAVE_DMA_ATTRS is not set 96CONFIG_HAVE_ARCH_TRACEHOOK=y
96CONFIG_USE_GENERIC_SMP_HELPERS=y 97CONFIG_USE_GENERIC_SMP_HELPERS=y
97CONFIG_PROC_PAGE_MONITOR=y 98# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
98CONFIG_SLABINFO=y 99CONFIG_SLABINFO=y
99CONFIG_RT_MUTEXES=y 100CONFIG_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
127CONFIG_DEFAULT_IOSCHED="anticipatory" 128CONFIG_DEFAULT_IOSCHED="anticipatory"
128CONFIG_CLASSIC_RCU=y 129CONFIG_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
140CONFIG_HZ=100 142CONFIG_HZ=100
141# CONFIG_SCHED_HRTICK is not set 143CONFIG_SCHED_HRTICK=y
142CONFIG_HOTPLUG_CPU=y 144CONFIG_HOTPLUG_CPU=y
143CONFIG_GENERIC_HARDIRQS=y 145CONFIG_GENERIC_HARDIRQS=y
144CONFIG_TICK_ONESHOT=y 146CONFIG_TICK_ONESHOT=y
@@ -148,6 +150,7 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
148CONFIG_SMP=y 150CONFIG_SMP=y
149CONFIG_NR_CPUS=64 151CONFIG_NR_CPUS=64
150# CONFIG_CPU_FREQ is not set 152# CONFIG_CPU_FREQ is not set
153CONFIG_US3_MC=y
151CONFIG_RWSEM_XCHGADD_ALGORITHM=y 154CONFIG_RWSEM_XCHGADD_ALGORITHM=y
152CONFIG_GENERIC_FIND_NEXT_BIT=y 155CONFIG_GENERIC_FIND_NEXT_BIT=y
153CONFIG_GENERIC_HWEIGHT=y 156CONFIG_GENERIC_HWEIGHT=y
@@ -169,7 +172,6 @@ CONFIG_SPARSEMEM_MANUAL=y
169CONFIG_SPARSEMEM=y 172CONFIG_SPARSEMEM=y
170CONFIG_NEED_MULTIPLE_NODES=y 173CONFIG_NEED_MULTIPLE_NODES=y
171CONFIG_HAVE_MEMORY_PRESENT=y 174CONFIG_HAVE_MEMORY_PRESENT=y
172# CONFIG_SPARSEMEM_STATIC is not set
173CONFIG_SPARSEMEM_EXTREME=y 175CONFIG_SPARSEMEM_EXTREME=y
174CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y 176CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
175CONFIG_SPARSEMEM_VMEMMAP=y 177CONFIG_SPARSEMEM_VMEMMAP=y
@@ -177,8 +179,10 @@ CONFIG_PAGEFLAGS_EXTENDED=y
177CONFIG_SPLIT_PTLOCK_CPUS=4 179CONFIG_SPLIT_PTLOCK_CPUS=4
178CONFIG_MIGRATION=y 180CONFIG_MIGRATION=y
179CONFIG_RESOURCES_64BIT=y 181CONFIG_RESOURCES_64BIT=y
182CONFIG_PHYS_ADDR_T_64BIT=y
180CONFIG_ZONE_DMA_FLAG=0 183CONFIG_ZONE_DMA_FLAG=0
181CONFIG_NR_QUICK=1 184CONFIG_NR_QUICK=1
185CONFIG_UNEVICTABLE_LRU=y
182CONFIG_SBUS=y 186CONFIG_SBUS=y
183CONFIG_SBUSCHAR=y 187CONFIG_SBUSCHAR=y
184CONFIG_SUN_AUXIO=y 188CONFIG_SUN_AUXIO=y
@@ -198,6 +202,8 @@ CONFIG_SUN_OPENPROMFS=m
198# 202#
199CONFIG_BINFMT_ELF=y 203CONFIG_BINFMT_ELF=y
200CONFIG_COMPAT_BINFMT_ELF=y 204CONFIG_COMPAT_BINFMT_ELF=y
205# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
206# CONFIG_HAVE_AOUT is not set
201CONFIG_BINFMT_MISC=m 207CONFIG_BINFMT_MISC=m
202CONFIG_COMPAT=y 208CONFIG_COMPAT=y
203CONFIG_SYSVIPC_COMPAT=y 209CONFIG_SYSVIPC_COMPAT=y
@@ -207,10 +213,6 @@ CONFIG_SCHED_MC=y
207CONFIG_PREEMPT_VOLUNTARY=y 213CONFIG_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#
214CONFIG_NET=y 216CONFIG_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
225CONFIG_XFRM_MIGRATE=y 227CONFIG_XFRM_MIGRATE=y
226# CONFIG_XFRM_STATISTICS is not set 228# CONFIG_XFRM_STATISTICS is not set
229CONFIG_XFRM_IPCOMP=y
227CONFIG_NET_KEY=m 230CONFIG_NET_KEY=m
228CONFIG_NET_KEY_MIGRATE=y 231CONFIG_NET_KEY_MIGRATE=y
229CONFIG_INET=y 232CONFIG_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
302CONFIG_VLAN_8021Q=m 306CONFIG_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# 329CONFIG_WIRELESS=y
325# Wireless
326#
327# CONFIG_CFG80211 is not set 330# CONFIG_CFG80211 is not set
331CONFIG_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
378CONFIG_HAVE_IDE=y 383CONFIG_HAVE_IDE=y
379CONFIG_IDE=y 384CONFIG_IDE=y
380CONFIG_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#
385CONFIG_IDE_TIMINGS=y 389CONFIG_IDE_TIMINGS=y
386# CONFIG_BLK_DEV_IDE_SATA is not set 390# CONFIG_BLK_DEV_IDE_SATA is not set
387CONFIG_BLK_DEV_IDEDISK=y 391CONFIG_IDE_GD=y
388# CONFIG_IDEDISK_MULTI_MODE is not set 392CONFIG_IDE_GD_ATA=y
393# CONFIG_IDE_GD_ATAPI is not set
389CONFIG_BLK_DEV_IDECD=y 394CONFIG_BLK_DEV_IDECD=y
390CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y 395CONFIG_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
395CONFIG_IDE_PROC_FS=y 399CONFIG_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
542CONFIG_NETDEVICES=y 544CONFIG_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 552CONFIG_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
552CONFIG_NET_ETHERNET=y 568CONFIG_NET_ETHERNET=y
553CONFIG_MII=m 569CONFIG_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
568CONFIG_NET_PCI=y 587CONFIG_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
587CONFIG_NETDEV_1000=y 608CONFIG_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
590CONFIG_E1000=m 611CONFIG_E1000=m
591CONFIG_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
607CONFIG_BNX2=m 625CONFIG_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
610CONFIG_NETDEV_10000=y 630CONFIG_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
618CONFIG_NIU=m 639CONFIG_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
694CONFIG_MOUSE_PS2_SYNAPTICS=y 717CONFIG_MOUSE_PS2_SYNAPTICS=y
695CONFIG_MOUSE_PS2_LIFEBOOK=y 718CONFIG_MOUSE_PS2_LIFEBOOK=y
696CONFIG_MOUSE_PS2_TRACKPOINT=y 719CONFIG_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
698CONFIG_MOUSE_SERIAL=y 722CONFIG_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#
727CONFIG_VT=y 753CONFIG_VT=y
754CONFIG_CONSOLE_TRANSLATIONS=y
728CONFIG_VT_CONSOLE=y 755CONFIG_VT_CONSOLE=y
729CONFIG_HW_CONSOLE=y 756CONFIG_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
762CONFIG_I2C=y 790CONFIG_I2C=y
763CONFIG_I2C_BOARDINFO=y 791CONFIG_I2C_BOARDINFO=y
764# CONFIG_I2C_CHARDEV is not set 792# CONFIG_I2C_CHARDEV is not set
793CONFIG_I2C_HELPER_AUTO=y
765CONFIG_I2C_ALGOBIT=y 794CONFIG_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
859CONFIG_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
832CONFIG_HWMON=y 863CONFIG_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
924CONFIG_FB=y 963CONFIG_FB=y
925# CONFIG_FIRMWARE_EDID is not set 964# CONFIG_FIRMWARE_EDID is not set
926CONFIG_FB_DDC=y 965CONFIG_FB_DDC=y
966# CONFIG_FB_BOOT_VESA_SUPPORT is not set
927CONFIG_FB_CFB_FILLRECT=y 967CONFIG_FB_CFB_FILLRECT=y
928CONFIG_FB_CFB_COPYAREA=y 968CONFIG_FB_CFB_COPYAREA=y
929CONFIG_FB_CFB_IMAGEBLIT=y 969CONFIG_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
1016CONFIG_LOGO_SUN_CLUT224=y 1060CONFIG_LOGO_SUN_CLUT224=y
1017CONFIG_SOUND=m 1061CONFIG_SOUND=m
1062CONFIG_SOUND_OSS_CORE=y
1018CONFIG_SND=m 1063CONFIG_SND=m
1019CONFIG_SND_TIMER=m 1064CONFIG_SND_TIMER=m
1020CONFIG_SND_PCM=m 1065CONFIG_SND_PCM=m
@@ -1120,9 +1165,36 @@ CONFIG_HID=y
1120# USB Input Devices 1165# USB Input Devices
1121# 1166#
1122CONFIG_USB_HID=y 1167CONFIG_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
1125CONFIG_USB_HIDDEV=y 1169CONFIG_USB_HIDDEV=y
1170
1171#
1172# Special HID drivers
1173#
1174CONFIG_HID_COMPAT=y
1175CONFIG_HID_A4TECH=y
1176CONFIG_HID_APPLE=y
1177CONFIG_HID_BELKIN=y
1178CONFIG_HID_BRIGHT=y
1179CONFIG_HID_CHERRY=y
1180CONFIG_HID_CHICONY=y
1181CONFIG_HID_CYPRESS=y
1182CONFIG_HID_DELL=y
1183CONFIG_HID_EZKEY=y
1184CONFIG_HID_GYRATION=y
1185CONFIG_HID_LOGITECH=y
1186# CONFIG_LOGITECH_FF is not set
1187# CONFIG_LOGIRUMBLEPAD2_FF is not set
1188CONFIG_HID_MICROSOFT=y
1189CONFIG_HID_MONTEREY=y
1190CONFIG_HID_PANTHERLORD=y
1191# CONFIG_PANTHERLORD_FF is not set
1192CONFIG_HID_PETALYNX=y
1193CONFIG_HID_SAMSUNG=y
1194CONFIG_HID_SONY=y
1195CONFIG_HID_SUNPLUS=y
1196# CONFIG_THRUSTMASTER_FF is not set
1197# CONFIG_ZEROPLUS_FF is not set
1126CONFIG_USB_SUPPORT=y 1198CONFIG_USB_SUPPORT=y
1127CONFIG_USB_ARCH_HAS_HCD=y 1199CONFIG_USB_ARCH_HAS_HCD=y
1128CONFIG_USB_ARCH_HAS_OHCI=y 1200CONFIG_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
1155CONFIG_USB_UHCI_HCD=m 1230CONFIG_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 1310CONFIG_RTC_LIB=y
1311CONFIG_RTC_CLASS=y
1312CONFIG_RTC_HCTOSYS=y
1313CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
1314# CONFIG_RTC_DEBUG is not set
1315
1316#
1317# RTC interfaces
1318#
1319CONFIG_RTC_INTF_SYSFS=y
1320CONFIG_RTC_INTF_PROC=y
1321CONFIG_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#
1348CONFIG_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
1356CONFIG_RTC_DRV_M48T59=y
1357CONFIG_RTC_DRV_BQ4802=y
1358# CONFIG_RTC_DRV_V3020 is not set
1359
1360#
1361# on-CPU RTC drivers
1362#
1363CONFIG_RTC_DRV_SUN4V=y
1364CONFIG_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
1368CONFIG_STAGING_EXCLUDE_BUILD=y
1233 1369
1234# 1370#
1235# Misc Linux/SPARC drivers 1371# Misc Linux/SPARC drivers
1236# 1372#
1237CONFIG_SUN_OPENPROMIO=y 1373CONFIG_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
1253CONFIG_EXT3_FS_XATTR=y 1389CONFIG_EXT3_FS_XATTR=y
1254CONFIG_EXT3_FS_POSIX_ACL=y 1390CONFIG_EXT3_FS_POSIX_ACL=y
1255CONFIG_EXT3_FS_SECURITY=y 1391CONFIG_EXT3_FS_SECURITY=y
1256# CONFIG_EXT4DEV_FS is not set 1392# CONFIG_EXT4_FS is not set
1257CONFIG_JBD=y 1393CONFIG_JBD=y
1258# CONFIG_JBD_DEBUG is not set 1394# CONFIG_JBD_DEBUG is not set
1259CONFIG_FS_MBCACHE=y 1395CONFIG_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
1262CONFIG_FS_POSIX_ACL=y 1398CONFIG_FS_POSIX_ACL=y
1399CONFIG_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
1290CONFIG_PROC_FS=y 1427CONFIG_PROC_FS=y
1291CONFIG_PROC_KCORE=y 1428CONFIG_PROC_KCORE=y
1292CONFIG_PROC_SYSCTL=y 1429CONFIG_PROC_SYSCTL=y
1430CONFIG_PROC_PAGE_MONITOR=y
1293CONFIG_SYSFS=y 1431CONFIG_SYSFS=y
1294CONFIG_TMPFS=y 1432CONFIG_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
1388CONFIG_DEBUG_KERNEL=y 1527CONFIG_DEBUG_KERNEL=y
1389# CONFIG_DEBUG_SHIRQ is not set 1528# CONFIG_DEBUG_SHIRQ is not set
1390CONFIG_DETECT_SOFTLOCKUP=y 1529CONFIG_DETECT_SOFTLOCKUP=y
1530# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
1531CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0
1391# CONFIG_SCHED_DEBUG is not set 1532# CONFIG_SCHED_DEBUG is not set
1392CONFIG_SCHEDSTATS=y 1533CONFIG_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
1552CONFIG_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
1419CONFIG_HAVE_FTRACE=y 1563CONFIG_SYSCTL_SYSCALL_CHECK=y
1420CONFIG_HAVE_DYNAMIC_FTRACE=y 1564CONFIG_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
1426CONFIG_HAVE_ARCH_KGDB=y 1577CONFIG_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
1436CONFIG_KEYS=y 1587CONFIG_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
1440CONFIG_XOR_BLOCKS=m 1592CONFIG_XOR_BLOCKS=m
1441CONFIG_ASYNC_CORE=m 1593CONFIG_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
1449CONFIG_CRYPTO_ALGAPI=y 1602CONFIG_CRYPTO_ALGAPI=y
1450CONFIG_CRYPTO_AEAD=y 1603CONFIG_CRYPTO_AEAD=y
1451CONFIG_CRYPTO_BLKCIPHER=y 1604CONFIG_CRYPTO_BLKCIPHER=y
1452CONFIG_CRYPTO_HASH=y 1605CONFIG_CRYPTO_HASH=y
1606CONFIG_CRYPTO_RNG=y
1453CONFIG_CRYPTO_MANAGER=y 1607CONFIG_CRYPTO_MANAGER=y
1454CONFIG_CRYPTO_GF128MUL=m 1608CONFIG_CRYPTO_GF128MUL=m
1455CONFIG_CRYPTO_NULL=m 1609CONFIG_CRYPTO_NULL=m
@@ -1523,6 +1677,11 @@ CONFIG_CRYPTO_TWOFISH_COMMON=m
1523# 1677#
1524CONFIG_CRYPTO_DEFLATE=y 1678CONFIG_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
1526CONFIG_CRYPTO_HW=y 1685CONFIG_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#
1532CONFIG_BITREVERSE=y 1691CONFIG_BITREVERSE=y
1533# CONFIG_GENERIC_FIND_FIRST_BIT is not set
1534CONFIG_CRC_CCITT=m 1692CONFIG_CRC_CCITT=m
1535CONFIG_CRC16=m 1693CONFIG_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
957config NUMA 957config 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
85static struct ata_port_info sch_port_info = { 85static 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
273module_init(dca_init); 273subsys_initcall(dca_init);
274module_exit(dca_exit); 274module_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(&current->mm->mmap_sem); 107 up_read(&current->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)
122unpin: 117unpin:
123 dma_unpin_iovec_pages(local_list); 118 dma_unpin_iovec_pages(local_list);
124out: 119out:
125 return ERR_PTR(err); 120 return NULL;
126} 121}
127 122
128void dma_unpin_iovec_pages(struct dma_pinned_list *pinned_list) 123void 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);
707rx_err: 707rx_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]);
710cq_err: 710cq_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 @@
1menu "Sonics Silicon Backplane"
2
3config SSB_POSSIBLE 1config 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
6menu "Sonics Silicon Backplane"
7 depends on SSB_POSSIBLE
8
8config SSB 9config 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
468static inline void ssb_dma_sync_single_for_cpu(struct ssb_device *dev, 480static 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
486static inline void ssb_dma_sync_single_for_device(struct ssb_device *dev, 502static 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
504static inline void ssb_dma_sync_single_range_for_cpu(struct ssb_device *dev, 524static 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
525static inline void ssb_dma_sync_single_range_for_device(struct ssb_device *dev, 549static 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 ****************************************************/
50static int dsa_slave_open(struct net_device *dev) 51static 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
79clear_allmulti:
80 if (dev->flags & IFF_ALLMULTI)
81 dev_set_allmulti(master, -1);
82del_unicast:
83 if (compare_ether_addr(dev->dev_addr, master->dev_addr))
84 dev_unicast_delete(master, dev->dev_addr, ETH_ALEN);
85out:
86 return err;
53} 87}
54 88
55static int dsa_slave_close(struct net_device *dev) 89static 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
80static int dsa_slave_set_mac_address(struct net_device *dev, void *addr) 127static 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
149out:
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
240static 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
240static void icmpmsg_put(struct seq_file *seq) 257static 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;
984reg_notif_fail:
985 kmem_cache_destroy(mrt_cachep);
986#ifdef CONFIG_PROC_FS 984#ifdef CONFIG_PROC_FS
987proc_vif_fail:
988 unregister_netdevice_notifier(&ip6_mr_notifier);
989proc_cache_fail: 985proc_cache_fail:
990 proc_net_remove(&init_net, "ip6_mr_vif"); 986 proc_net_remove(&init_net, "ip6_mr_vif");
987proc_vif_fail:
988 unregister_netdevice_notifier(&ip6_mr_notifier);
991#endif 989#endif
990reg_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
3190out: 3190out:
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
108extern struct key *find_keyring_by_name(const char *name, bool skip_perm_check); 108extern struct key *find_keyring_by_name(const char *name, bool skip_perm_check);
109 109
110extern int install_user_keyrings(struct task_struct *tsk);
110extern int install_thread_keyring(struct task_struct *tsk); 111extern int install_thread_keyring(struct task_struct *tsk);
111extern int install_process_keyring(struct task_struct *tsk); 112extern 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 */
43static int install_user_keyrings(struct task_struct *tsk) 43int 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