Skip to contentSkip to conversation

Linux 3.5.5

DISCUSSION Greg KH 1 participant 2 messages Oct 2, 2012

lore
Share & tools
lore

Greg KH

author
#0 lore raw

I'm announcing the release of the 3.5.5 kernel.

All users of the 3.5 kernel series must upgrade.

The updated 3.5.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-3.5.y
and can be browsed at the normal kernel.org git web browser:
http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

------------

 Documentation/sound/alsa/HD-Audio-Models.txt          |    1 
 Makefile                                              |    2 
 arch/alpha/include/asm/atomic.h                       |    4 
 arch/arm/Makefile                                     |    4 
 arch/arm/boot/compressed/head.S                       |    5 
 arch/arm/include/asm/assembler.h                      |    8 
 arch/arm/include/asm/mutex.h                          |  119 -------------
 arch/arm/include/asm/uaccess.h                        |   40 ++--
 arch/arm/kernel/hw_breakpoint.c                       |   55 ++++--
 arch/arm/kernel/traps.c                               |   11 -
 arch/arm/lib/getuser.S                                |   23 +-
 arch/arm/lib/putuser.S                                |    6 
 arch/arm/mach-imx/clk-imx25.c                         |    6 
 arch/arm/mach-imx/clk-imx35.c                         |    6 
 arch/arm/mach-imx/mach-armadillo5x0.c                 |    3 
 arch/arm/mach-omap2/timer.c                           |    7 
 arch/arm/mm/mm.h                                      |    3 
 arch/arm/mm/mmu.c                                     |    4 
 arch/mips/mm/gup.c                                    |    2 
 arch/powerpc/platforms/85xx/p1022_ds.c                |  102 +++++++++--
 arch/s390/oprofile/init.c                             |   10 -
 arch/x86/include/asm/xen/page.h                       |    3 
 arch/x86/kernel/cpu/common.c                          |    2 
 arch/x86/kernel/cpu/perf_event_amd_ibs.c              |   12 +
 arch/x86/xen/enlighten.c                              |    4 
 arch/x86/xen/p2m.c                                    |   27 +-
 arch/x86/xen/setup.c                                  |    4 
 drivers/acpi/bus.c                                    |   10 +
 drivers/acpi/power.c                                  |   36 ++-
 drivers/ata/ahci.c                                    |    2 
 drivers/ata/libata-core.c                             |    1 
 drivers/base/core.c                                   |    4 
 drivers/base/power/runtime.c                          |   13 -
 drivers/block/cciss_scsi.c                            |    1 
 drivers/block/nbd.c                                   |    9 
 drivers/block/xen-blkback/blkback.c                   |    2 
 drivers/bluetooth/ath3k.c                             |    4 
 drivers/bluetooth/btusb.c                             |   12 -
 drivers/cpufreq/powernow-k8.c                         |   63 +++---
 drivers/dma/at_hdmac.c                                |   13 +
 drivers/dma/pl330.c                                   |   21 +-
 drivers/gpio/gpio-lpc32xx.c                           |    5 
 drivers/gpu/drm/drm_crtc.c                            |    2 
 drivers/gpu/drm/drm_edid.c                            |    3 
 drivers/gpu/drm/gma500/oaktrail_device.c              |    2 
 drivers/gpu/drm/i915/i915_gem.c                       |    3 
 drivers/gpu/drm/i915/i915_irq.c                       |    3 
 drivers/gpu/drm/i915/intel_crt.c                      |   36 +++
 drivers/gpu/drm/i915/intel_display.c                  |   24 +-
 drivers/gpu/drm/i915/intel_drv.h                      |    2 
 drivers/gpu/drm/i915/intel_hdmi.c                     |    2 
 drivers/gpu/drm/i915/intel_modes.c                    |   31 ++-
 drivers/gpu/drm/i915/intel_pm.c                       |   11 -
 drivers/gpu/drm/i915/intel_sdvo.c                     |   23 +-
 drivers/gpu/drm/nouveau/nouveau_display.c             |    2 
 drivers/gpu/drm/nouveau/nouveau_state.c               |    6 
 drivers/gpu/drm/nouveau/nv84_fifo.c                   |    9 
 drivers/gpu/drm/radeon/atombios_crtc.c                |   61 ++++--
 drivers/gpu/drm/radeon/atombios_encoders.c            |  140 ++++++++-------
 drivers/gpu/drm/radeon/radeon.h                       |   16 -
 drivers/gpu/drm/radeon/radeon_atombios.c              |    2 
 drivers/gpu/drm/radeon/radeon_atpx_handler.c          |   56 ------
 drivers/gpu/drm/radeon/radeon_bios.c                  |  138 ++++++++++++++-
 drivers/gpu/drm/radeon/radeon_cs.c                    |   30 ++-
 drivers/gpu/drm/radeon/radeon_device.c                |    2 
 drivers/gpu/drm/radeon/radeon_fence.c                 |    8 
 drivers/gpu/drm/radeon/radeon_gart.c                  |   24 ++
 drivers/gpu/drm/radeon/radeon_gem.c                   |   13 -
 drivers/gpu/drm/radeon/radeon_object.c                |    6 
 drivers/gpu/drm/radeon/radeon_ring.c                  |    1 
 drivers/gpu/drm/udl/udl_connector.c                   |    7 
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.c                   |    5 
 drivers/gpu/drm/vmwgfx/vmwgfx_drv.h                   |   10 +
 drivers/gpu/drm/vmwgfx/vmwgfx_fence.c                 |    2 
 drivers/gpu/drm/vmwgfx/vmwgfx_resource.c              |   73 ++++++++
 drivers/hid/hid-logitech-dj.c                         |   49 +++++
 drivers/hid/hid-logitech-dj.h                         |    1 
 drivers/hwmon/ad7314.c                                |    8 
 drivers/hwmon/ads7871.c                               |    9 
 drivers/hwmon/fam15h_power.c                          |   15 +
 drivers/hwmon/ina2xx.c                                |   30 ---
 drivers/hwmon/twl4030-madc-hwmon.c                    |    9 
 drivers/i2c/busses/i2c-powermac.c                     |  157 ++++++++++++++---
 drivers/input/serio/i8042-x86ia64io.h                 |    6 
 drivers/input/tablet/wacom_sys.c                      |   10 -
 drivers/input/tablet/wacom_wac.c                      |   27 ++
 drivers/input/tablet/wacom_wac.h                      |    9 
 drivers/iommu/intel_irq_remapping.c                   |   18 +
 drivers/isdn/hardware/mISDN/avmfritz.c                |    3 
 drivers/isdn/hardware/mISDN/mISDNipac.c               |    3 
 drivers/isdn/hardware/mISDN/mISDNisar.c               |    3 
 drivers/isdn/hardware/mISDN/netjet.c                  |    3 
 drivers/isdn/hardware/mISDN/w6692.c                   |    3 
 drivers/isdn/isdnloop/isdnloop.c                      |   12 -
 drivers/isdn/mISDN/hwchannel.c                        |    9 
 drivers/md/md.c                                       |   15 +
 drivers/md/raid10.c                                   |   38 ++--
 drivers/md/raid10.h                                   |    2 
 drivers/md/raid5.c                                    |    4 
 drivers/media/rc/rc-main.c                            |    5 
 drivers/misc/sgi-xp/xpc_uv.c                          |   84 +++++++--
 drivers/mmc/card/block.c                              |   26 ++
 drivers/mmc/host/atmel-mci.c                          |    6 
 drivers/mmc/host/mxs-mmc.c                            |   14 -
 drivers/mmc/host/sdhci-esdhc.h                        |    6 
 drivers/net/can/janz-ican3.c                          |    4 
 drivers/net/can/mcp251x.c                             |   11 +
 drivers/net/can/ti_hecc.c                             |    2 
 drivers/net/ethernet/cirrus/cs89x0.c                  |   10 -
 drivers/net/ethernet/freescale/gianfar.c              |    2 
 drivers/net/ethernet/freescale/gianfar_ethtool.c      |    1 
 drivers/net/ethernet/freescale/gianfar_ptp.c          |    4 
 drivers/net/ethernet/ibm/ibmveth.c                    |   26 --
 drivers/net/ethernet/sfc/efx.c                        |    6 
 drivers/net/ethernet/sfc/efx.h                        |   14 +
 drivers/net/ethernet/sfc/ethtool.c                    |   20 +-
 drivers/net/ethernet/sfc/tx.c                         |   19 ++
 drivers/net/netconsole.c                              |    1 
 drivers/net/ppp/pptp.c                                |    4 
 drivers/net/usb/asix.c                                |    4 
 drivers/net/usb/qmi_wwan.c                            |   58 ++++++
 drivers/net/usb/usbnet.c                              |   16 +
 drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c  |   26 +-
 drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c |    6 
 drivers/net/wireless/iwlwifi/iwl-debugfs.c            |    3 
 drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h     |    2 
 drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c      |    2 
 drivers/net/wireless/iwlwifi/iwl-trans-pcie.c         |   31 +--
 drivers/net/wireless/rt2x00/rt2400pci.c               |    9 
 drivers/net/wireless/rt2x00/rt2400pci.h               |    1 
 drivers/net/wireless/rt2x00/rt2500pci.c               |    9 
 drivers/net/wireless/rt2x00/rt2500usb.c               |   11 +
 drivers/net/wireless/rt2x00/rt2500usb.h               |   17 -
 drivers/net/wireless/rt2x00/rt2800pci.c               |    9 
 drivers/net/wireless/rt2x00/rt2800usb.c               |   22 ++
 drivers/net/wireless/rt2x00/rt2x00dev.c               |    2 
 drivers/net/wireless/rt2x00/rt61pci.c                 |    9 
 drivers/net/wireless/rt2x00/rt61pci.h                 |    1 
 drivers/net/wireless/rt2x00/rt73usb.c                 |    9 
 drivers/net/wireless/rt2x00/rt73usb.h                 |    3 
 drivers/net/wireless/rtlwifi/rtl8192ce/def.h          |    1 
 drivers/net/wireless/rtlwifi/rtl8192ce/hw.c           |   12 +
 drivers/net/wireless/rtlwifi/rtl8192ce/sw.c           |    6 
 drivers/platform/x86/asus-laptop.c                    |    8 
 drivers/platform/x86/asus-nb-wmi.c                    |    4 
 drivers/rtc/rtc-rs5c348.c                             |    7 
 drivers/rtc/rtc-twl.c                                 |    5 
 drivers/scsi/bnx2i/bnx2i_hwi.c                        |    3 
 drivers/scsi/hpsa.c                                   |    3 
 drivers/scsi/lpfc/Makefile                            |    2 
 drivers/scsi/mpt2sas/mpt2sas_base.c                   |    7 
 drivers/scsi/virtio_scsi.c                            |    2 
 drivers/staging/android/android_alarm.h               |    4 
 drivers/staging/comedi/drivers/amplc_pci224.c         |    7 
 drivers/staging/comedi/drivers/das08.c                |    4 
 drivers/staging/media/lirc/lirc_sir.c                 |   60 ++++++
 drivers/staging/rtl8712/recv_linux.c                  |    7 
 drivers/staging/speakup/main.c                        |    2 
 drivers/staging/vt6656/dpc.c                          |    2 
 drivers/staging/vt6656/rxtx.c                         |   38 ++--
 drivers/staging/zcache/zcache-main.c                  |    7 
 drivers/target/target_core_transport.c                |   58 ++----
 drivers/tty/serial/imx.c                              |   30 +--
 drivers/tty/serial/pch_uart.c                         |   59 ++++--
 drivers/usb/chipidea/udc.c                            |   58 ++++--
 drivers/usb/class/cdc-wdm.c                           |   12 -
 drivers/usb/core/devices.c                            |    2 
 drivers/usb/core/hcd.c                                |    6 
 drivers/usb/core/quirks.c                             |    4 
 drivers/usb/dwc3/core.c                               |    9 
 drivers/usb/dwc3/ep0.c                                |    1 
 drivers/usb/dwc3/gadget.c                             |    7 
 drivers/usb/gadget/at91_udc.c                         |    6 
 drivers/usb/gadget/dummy_hcd.c                        |   41 ++++
 drivers/usb/host/ehci-omap.c                          |  164 ------------------
 drivers/usb/host/ehci-q.c                             |   12 +
 drivers/usb/host/ohci-at91.c                          |   13 +
 drivers/usb/host/pci-quirks.c                         |   42 +++-
 drivers/usb/host/pci-quirks.h                         |    1 
 drivers/usb/host/xhci-hub.c                           |   42 ++++
 drivers/usb/host/xhci-plat.c                          |    2 
 drivers/usb/host/xhci.c                               |  123 +++++++++++++
 drivers/usb/host/xhci.h                               |    6 
 drivers/usb/serial/ftdi_sio.c                         |   22 ++
 drivers/usb/serial/ftdi_sio_ids.h                     |   29 ++-
 drivers/usb/serial/option.c                           |    6 
 drivers/video/console/fbcon.c                         |    9 
 drivers/watchdog/hpwdt.c                              |    3 
 drivers/xen/gntdev.c                                  |    5 
 drivers/xen/grant-table.c                             |    6 
 fs/cifs/cifs_unicode.c                                |    2 
 fs/dcache.c                                           |    4 
 fs/ecryptfs/inode.c                                   |    5 
 fs/nfs/dir.c                                          |    4 
 fs/nfs/inode.c                                        |    2 
 fs/nfs/nfs3proc.c                                     |    2 
 fs/nfs/nfs4proc.c                                     |    4 
 fs/nfs/nfs4xdr.c                                      |    3 
 fs/nfs/super.c                                        |    2 
 fs/nfsd/nfsctl.c                                      |    8 
 fs/nfsd/nfsd.h                                        |   11 +
 fs/nfsd/nfssvc.c                                      |   24 --
 fs/proc/proc_sysctl.c                                 |    5 
 fs/stat.c                                             |    2 
 include/asm-generic/mutex-xchg.h                      |   11 -
 include/drm/drm_mode.h                                |    5 
 include/linux/dcache.h                                |    2 
 include/linux/init_task.h                             |   12 +
 include/linux/kobject.h                               |    2 
 include/linux/kthread.h                               |    8 
 include/linux/ktime.h                                 |    7 
 include/linux/mISDNhw.h                               |    2 
 include/linux/memory.h                                |    2 
 include/linux/mmc/card.h                              |    1 
 include/linux/netdevice.h                             |    4 
 include/linux/nfs_fs.h                                |    5 
 include/linux/pci_ids.h                               |    2 
 include/linux/perf_event.h                            |    4 
 include/linux/sched.h                                 |    5 
 include/linux/security.h                              |    1 
 include/linux/time.h                                  |   29 ++-
 include/net/bluetooth/smp.h                           |    2 
 include/net/codel.h                                   |    8 
 include/net/scm.h                                     |    4 
 include/net/sock.h                                    |    2 
 include/trace/events/kmem.h                           |    4 
 include/xen/grant_table.h                             |    3 
 kernel/async.c                                        |   13 -
 kernel/events/core.c                                  |   62 +++---
 kernel/kthread.c                                      |   88 +++++----
 kernel/sched/core.c                                   |    9 
 kernel/sched/sched.h                                  |   23 +-
 kernel/time/tick-sched.c                              |    1 
 kernel/time/timekeeping.c                             |   32 +++
 kernel/workqueue.c                                    |   34 +--
 lib/digsig.c                                          |    6 
 mm/memory_hotplug.c                                   |   16 +
 mm/page_alloc.c                                       |    2 
 net/atm/common.c                                      |    1 
 net/atm/pvc.c                                         |    1 
 net/bluetooth/hci_conn.c                              |    4 
 net/bluetooth/hci_core.c                              |    2 
 net/bluetooth/hci_sock.c                              |    2 
 net/bluetooth/l2cap_core.c                            |   11 -
 net/bluetooth/l2cap_sock.c                            |    3 
 net/bluetooth/mgmt.c                                  |   16 +
 net/bluetooth/rfcomm/sock.c                           |    2 
 net/bluetooth/rfcomm/tty.c                            |    2 
 net/bluetooth/smp.c                                   |   10 -
 net/core/dev.c                                        |   27 ++
 net/core/sock.c                                       |    1 
 net/dccp/ccids/ccid3.c                                |    1 
 net/ipv4/ipmr.c                                       |   14 +
 net/ipv4/tcp.c                                        |    4 
 net/ipv4/tcp_cong.c                                   |    3 
 net/ipv4/tcp_input.c                                  |   15 -
 net/ipv4/tcp_output.c                                 |   21 +-
 net/ipv6/addrconf.c                                   |    4 
 net/l2tp/l2tp_core.c                                  |    3 
 net/l2tp/l2tp_core.h                                  |    1 
 net/l2tp/l2tp_ip6.c                                   |    1 
 net/llc/af_llc.c                                      |    3 
 net/mac80211/mlme.c                                   |    4 
 net/netfilter/ipvs/ip_vs_ctl.c                        |    1 
 net/netlink/af_netlink.c                              |    6 
 net/openvswitch/vport-internal_dev.c                  |    8 
 net/packet/af_packet.c                                |   10 -
 net/rds/recv.c                                        |    3 
 net/sched/act_gact.c                                  |   14 +
 net/socket.c                                          |    1 
 net/unix/af_unix.c                                    |    4 
 net/wireless/reg.c                                    |   12 -
 sound/aoa/codecs/onyx.c                               |   75 --------
 sound/aoa/codecs/tas.c                                |   80 --------
 sound/pci/hda/hda_codec.c                             |    2 
 sound/pci/hda/patch_realtek.c                         |   22 ++
 sound/pci/hda/patch_sigmatel.c                        |    2 
 sound/pci/ice1712/prodigy_hifi.c                      |    3 
 sound/soc/codecs/wm2000.c                             |    2 
 sound/soc/samsung/dma.c                               |    8 
 sound/soc/tegra/tegra_alc5632.c                       |    1 
 sound/usb/endpoint.c                                  |    8 
 sound/usb/pcm.c                                       |    6 
 283 files changed, 2763 insertions(+), 1499 deletions(-)

Aaron Lu (1):
ACPI / PM: Use KERN_DEBUG when no power resources are found

AceLan Kao (1):
asus-nb-wmi: add some video toggle keys

Al Viro (1):
perf_event: Switch to internal refcount, fix race with close()

Alan Cox (4):
ahci: Add alternate identifier for the 88SE9172
gma500: Fix regression on Oaktrail devices
dj: memory scribble in logi_dj
pch_uart: Fix missing break for 16 byte fifo

Alan Stern (2):
USB: add device quirk for Joss Optical touchboard
USB: Fix race condition when removing host controllers

Alex Deucher (7):
drm/radeon/ss: use num_crtc rather than hardcoded 6 drm/radeon: split ATRM support out from the ATPX handler (v3) drm/radeon/atom: rework DIG modesetting on DCE3+ drm/radeon/atom: powergating fixes for DCE6
drm/radeon: convert radeon vfct code to use acpi_get_table_with_size drm/radeon: don't disable plls that are in use by other crtcs drm/radeon: fix dig encoder selection on DCE61

Alexey Khoroshilov (1):
net/core: Fix potential memory leak in dev_set_alias()

Alexis R. Cortes (1):
usb: host: xhci: Fix Compliance Mode on SN65LVPE502CP Hardware

Amerigo Wang (1):
netconsole: remove a redundant netconsole_target_put()

Andre Guedes (1):
Bluetooth: Fix use-after-free bug in SMP

Andreas Herrmann (1):
hwmon: (fam15h_power) Tweak runavg_range on resume

Andreas Schwab (1):
sound/aoa: Adapt to new i2c probing scheme

Andrzej Kaczmarek (2):
Bluetooth: mgmt: Fix enabling SSP while powered off
Bluetooth: mgmt: Fix enabling LE while powered off

Anisse Astier (1):
Input: i8042 - disable mux on Toshiba C850D

Atsushi Nemoto (1):
drivers/rtc/rtc-rs5c348.c: fix hour decoding in 12-hour mode

Ben Hutchings (5):
net: Allow driver to limit number of GSO segments per skb
sfc: Fix maximum number of TSO segments and minimum TX queue size
tcp: Apply device TSO segment limit earlier
ipv6: addrconf: Avoid calling netdevice notifiers with RCU read-side lock
sfc: Fix reporting of IPv4 full filters through ethtool

Ben Skeggs (1):
drm/nvc0/copy: check PUNITS to determine which copy engines are disabled

Benjamin Herrenschmidt (1):
i2c/powermac: Improve detection of devices from device-tree

Benoît Locher (1):
can: mcp251x: avoid repeated frame bug

Bjørn Mork (8):
USB: option: replace ZTE K5006-Z entry with vendor class rule
kobject: fix oops with "input0: bad kobj_uevent_env content in show_uevent()"
net: usbnet: fix softirq storm on suspend
USB: ftdi_sio: do not claim CDC ACM function
USB: cdc-wdm: fix wdm_find_device* return value
net: qmi_wwan: add ZTE MF821D
net: qmi_wwan: add Sierra Wireless devices
net: qmi_wwan: new devices: UML290 and K5006-Z

Charles Wang (1):
sched: Add missing call to calc_load_exit_idle()

Chris Wilson (1):
drm/i915: Reduce a pin-leak BUG into a WARN

Christian König (2):
drm/radeon: init lockup timeout on ring init drm/radeon: make 64bit fences more robust v3

Christopher Brannon (1):
Staging: speakup: fix an improperly-declared variable.

Claudiu Manoil (1):
gianfar: fix default tx vlan offload feature flag

Corentin Chary (1):
asus-laptop: HRWS/HWRS typo

Dae S. Kim (1):
Staging: Android alarm: IOCTL command encoding fix

Dan Carpenter (2):
xhci: Fix a logical vs bitwise AND bug
vmwgfx: corruption in vmw_event_fence_action_create()

Daniel J Blueman (1):
libata: Prevent interface errors with Seagate FreeAgent GoFlex

Daniel Mack (1):
ALSA: snd-usb: fix next_packet_size calls for pause case

Daniel Vetter (3):
drm/i915: use hsw rps tuning values everywhere on gen6+ drm/i915: set the right gen3 flip_done mode also at resume drm/i915: enable lvds pin pairs before dpll on gen2

Darren Hart (1):
pch_uart: Add eg20t_port lock field, avoid recursive spinlocks

Dave Airlie (4):
vmwgfx: add dumb ioctl support
fbcon: fix race condition between console lock and cursor timer (v1.1) drm/nouveau: fix booting with plymouth + dumb support drm/udl: limit modes to the sku pixel limits.

David Brown (1):
ARM: 7513/1: Make sure dtc is built before running it

David Lamparter (1):
drm/radeon: implement ACPI VFCT vbios fetch (v3)

Dirk Behme (1):
tty: serial: imx: don't reinit clock in imx_setup_ufcr()

Dmitry Kasatkin (1):
digsig: add hash size comparision on signature verification

Douglas Bagnall (1):
media: Avoid sysfs oops when an rc_dev's raw device is absent

Dylan Reid (1):
ASoC: samsung dma - Don't indicate support for pause/resume.

Eddie Wai (1):
SCSI: bnx2i: Fixed NULL ptr deference for 1G bnx2 Linux iSCSI offload

Eliad Peller (1):
mac80211: clear bssid on auth/assoc failure

Emmanuel Grumbach (1):
iwlwifi: don't double free the interrupt in failure path

Eric Dumazet (3):

      codel: refine one condition to avoid a nul rec_inv_sqrt
      af_netlink: force credentials passing [CVE-2012-3520]
      staging: r8712u: fix bug in r8712_recv_indicatepkt()

Eric Leblond (1):
af_packet: don't emit packet on orig fanout group

Fabio Estevam (3):
ARM: clk-imx25: Fix SSI clock registration
ARM: clk-imx35: Fix SSI clock registration
ARM: imx: armadillo5x0: Fix illegal register access

Francesco Ruggeri (2):
net: ipv4: ipmr_expire_timer causes crash when removing net namespace fs/proc: fix potential unregister_sysctl_table hang

Gao feng (1):
pptp: lookup route with the proper net namespace

Gertjan van Wingerde (3):
rt2x00: Identify ASUS USB-N53 device.
rt2x00: Fix word size of rt2500usb MAC_CSR19 register.
rt2x00: Fix rfkill polling prior to interface start.

Greg Kroah-Hartman (1):

      Linux 3.5.5

Guenter Roeck (4):
hwmon: (twl4030-madc-hwmon) Initialize uninitialized structure elements
hwmon: (ina2xx) Fix word size register read and write operations
hwmon: (ads7871) Add 'name' sysfs attribute
hwmon: (ad7314) Add 'name' sysfs attribute

Gustavo Padovan (1):
Bluetooth: Use USB_VENDOR_AND_INTERFACE() for Broadcom devices

Hante Meuleman (2):
brcmfmac: fix big endian bug in i-scan.
brcmfmac: Fix big endian host configuration data.

Henrik Rydberg (1):
Bluetooth: Add support for Apple vendor-specific devices

Hiroaki SHIMODA (1):
net_sched: gact: Fix potential panic in tcf_gact().

Horst Schirmeier (1):
USB: ftdi_sio: PID for NZR SEM 16+ USB

Ian Abbott (3):
staging: comedi: amplc_pci224: Fix PCI ref count
staging: comedi: das08: Correct AO output for das08jr-16-ao
staging: comedi: das08: Correct AI encoding for das08jr-16-ao

Ian Chen (1):
mmc: card: Skip secure erase on MoviNAND; causes unrecoverable corruption.

Igor Grinberg (1):
ARM: OMAP: timer: obey the !CONFIG_OMAP_32K_TIMER

Ira W. Snyder (1):
can: janz-ican3: fix support for older hardware revisions

Jaccon Bastiaansen (1):
cs89x0 : packet reception not working

Jakob Bornecrantz (1):
drm: Check for invalid cursor flags

James Bottomley (1):
SCSI: lpfc: fix problems with -Werror

Jani Nikula (3):
drm/i915: extract connector update from intel_ddc_get_modes() for reuse drm/i915: fall back to bit-banging if GMBUS fails in CRT EDID reads drm/i915: only enable sdvo hotplug irq if needed

Jarod Wilson (1):
media: lirc_sir: make device registration work

Jeff Layton (1):
cifs: fix return value in cifsConvertToUTF16

Jerome Glisse (3):
drm/radeon: avoid turning off spread spectrum for used pll drm/radeon: fence virtual address and free it once idle v4 drm/radeon: force dma32 to fix regression rs4xx,rs6xx,rs740

Jesse Gross (1):
openvswitch: Reset upper layer protocol info on internal devices.

Jianguo Wu (1):
mm/ia64: fix a memory block size bug

Joachim Eastwood (1):
USB: ohci-at91: fix null pointer in ohci_hcd_at91_overcurrent_irq

Johannes Berg (2):
iwlwifi: protect SRAM debugfs
iwlwifi: fix flow handler debug code

John Stultz (3):
time: Improve sanity checking of timekeeping inputs
time: Avoid making adjustments if we haven't accumulated anything
time: Move ktime_t overflow checking into timespec_valid_strict

Jovi Zhang (1):
MIPS: mm: Add compound tail page _mapcount when mapped

Karsten Keil (1):
mISDN: Fix wrong usage of flush_work_sync while holding locks

Keng-Yu Lin (1):
Intel xhci: Only switch the switchable ports

Keshava Munegowda (1):
OMAP: USB : Fix the EHCI enumeration and core retention issue

Kevin Hilman (1):
drivers/rtc/rtc-twl.c: ensure all interrupts are disabled during probe

Kishon Vijay Abraham I (1):
usb: dwc3: core: fix incorrect usage of resource pointer

Konrad Rzeszutek Wilk (2):
xen/boot: Disable BIOS SMP MP table search.
xen/boot: Disable NUMA for PV guests.

Lai Jiangshan (1):

      workqueue: UNBOUND -> REBIND morphing in rebind_workers() should be atomic

Larry Finger (1):
rtlwifi: rtl8192ce: Log message that B_CUT device may not work

Lauri Hintsala (2):
mmc: mxs-mmc: fix deadlock in SDIO IRQ case
mmc: mxs-mmc: fix deadlock caused by recursion loop

Li Haifeng (1):
mm/page_alloc: fix the page address of higher page's buddy calculation

Li Zhong (1):
Fix a dead loop in async_synchronize_full()

Lin Ming (1):
ACPI / PM: Fix resource_lock dead lock in acpi_power_on_device

Linus Torvalds (1):
vfs: make O_PATH file descriptors usable for 'fstat()'

Ludovic Desroches (1):
mmc: atmel-mci: not busy flag has also to be used for read operations

Luis R. Rodriguez (1):
cfg80211: fix possible circular lock on reg_regdb_search()

Malcolm Priestley (1):
staging: vt6656: [BUG] - Failed connection, incorrect endian.

Manoj Iyer (2):
xhci: Recognize USB 3.0 devices as superspeed at powerup
Bluetooth: btusb: Add vendor specific ID (0a5c:21f4) BCM20702A0

Marc Kleine-Budde (3):
can: ti_hecc: fix oops during rmmod
usb: chipidea: udc: fix error path in udc_start()
usb: chipidea: cleanup dma_pool if udc_start() fails

Mark Brown (1):
ASoC: wm2000: Correct register size

Mark Salter (1):
c/r: prctl: fix build error for no-MMU case

Markus Trippelsdorf (1):
dyndbg: fix for SOH in logging messages

Mathias Krause (13):
atm: fix info leak in getsockopt(SO_ATMPVC)
atm: fix info leak via getsockname()
Bluetooth: HCI - Fix info leak in getsockopt(HCI_FILTER)
Bluetooth: HCI - Fix info leak via getsockname()
Bluetooth: RFCOMM - Fix info leak in getsockopt(BT_SECURITY)
Bluetooth: RFCOMM - Fix info leak in ioctl(RFCOMMGETDEVLIST)
Bluetooth: RFCOMM - Fix info leak via getsockname()
Bluetooth: L2CAP - Fix info leak via getsockname()
l2tp: fix info leak via getsockname()
llc: fix info leak via getsockname()
dccp: fix info leak via getsockopt(DCCP_SOCKOPT_CCID_TX_INFO)
ipvs: fix info leak in getsockopt(IP_VS_SO_GET_TIMEOUT)
net: fix info leak in compat dev_ifconf()

Matteo Frigo (1):
ALSA: ice1724: Use linear scale for AK4396 volume control.

Matthew Garrett (1):
xhci: Make handover code more robust

Matthew Leach (1):
ARM: 7532/1: decompressor: reset SCTLR.TRE for VMSA ARMv7 cores

Maxim Levitsky (1):
drm/nv86/fifo: suspend fix

Mel Gorman (1):
Redefine ATOMIC_INIT and ATOMIC64_INIT to drop the casts

Michael Grzeschik (3):
usb: chipidea: udc: add pullup fuction, needed by the uvc gadget
usb: chipidea: udc: fix setup of endpoint maxpacket size
usb: chipidea: udc: don't stall endpoint if request list is empty in isr_tr_complete_low

Miklos Szeredi (1):
vfs: dcache: use DCACHE_DENTRY_KILLED instead of DCACHE_DISCONNECTED in d_kill()

Moiz Sonasath (1):
usb: host: xhci: fix compilation error for non-PCI based stacks

NeilBrown (5):
md: Don't truncate size at 4TB for RAID0 and Linear md/raid10: fix problem with on-stack allocation of r10bio structure.
md: make sure metadata is updated when spares are activated or removed. md/raid5: fix calculate of 'degraded' when a replacement becomes active. md/raid10: fix "enough" function for detecting if array is failed.

Nestor Lopez Casado (1):
HID: Fix logitech-dj: missing Unifying device issue

Nicholas Bellinger (1):

      target: Fix ->data_length re-assignment bug with SCSI overflow

Nicolas Ferre (3):
dmaengine: at_hdmac: fix comment in atc_prep_slave_sg()
dmaengine: at_hdmac: check that each sg data length is non-null
USB: ohci-at91: fix PIO handling in relation with number of ports

Pablo Neira Ayuso (1):
netlink: fix possible spoofing from non-root processes

Paolo Bonzini (1):
target: simplify code around transport_get_sense_data

Paul Clements (1):
nbd: clear waiting_queue on shutdown

Paul Menzel (1):
drm: Add EDID_QUIRK_FORCE_REDUCED_BLANKING for ASUS VW222S

Pavankumar Kondeti (1):
EHCI: Update qTD next pointer in QH overlay region during unlink

Peng Chen (1):
Bluetooth: add support for atheros 0489:e057

Peter Zijlstra (1):
sched: Fix race in task_group()

Ping Cheng (2):
Input: wacom - add support to Cintiq 22HD
Input: wacom - rearrange type enum

Pratyush Anand (1):
usb: dwc3: ep0: correct cache sync issue in case of ep0_bounced

Rafael J. Wysocki (4):
ACPI / PM: Infer parent power state from child if unknown, v2 PM / Runtime: Fix rpm_resume() return value for power.no_callbacks set PM / Runtime: Clear power.deferred_resume on success in rpm_suspend() PM / Runtime: Check device PM QoS setting before "no callbacks" check

Richard Cochran (1):
gianfar: fix phc index build failure

Robert Richter (2):
oprofile, s390: Fix uninitialized memory access when writing to oprofilefs perf/x86/ibs: Check syscall attribute flags

Robin Holt (1):
drivers/misc/sgi-xp/xpc_uv.c: SGI XPC fails to load when cpu 0 is out of IRQ resources

Roland Stigge (1):
gpio-lpc32xx: Fix value handling of gpio_direction_output()

Ruchika Kharwar (1):
usb: host: xhci-plat: use ioremap_nocache

Russell King (2):
ARM: 7527/1: uaccess: explicitly check __user pointer when !CPU_USE_DOMAINS
ARM: Fix ioremap() of address zero

Sachin Kamat (2):
DMA: PL330: Fix potential NULL pointer dereference in pl330_submit_req()
DMA: PL330: Check the pointer returned by kzalloc

Santiago Leon (1):
ibmveth: Fix alignment of rx queue bug

Sebastian Andrzej Siewior (4):
usb: gadget: dummy_hcd: fixup error probe path
usb: gadget: dummy_hcd: add support for USB_DT_BOS on rh
usb: gadget: at91udc: don't overwrite driver data
usb: gadget: at91udc: Don't check for ep->ep.desc

Sergei Poselenov (1):
rt2800usb: Added rx packet length validity check

Seth Forshee (1):
irq_remap: disable IRQ remapping if any IOAPIC lacks an IOMMU

Seth Jennings (1):
staging: zcache: fix cleancache race condition with shrinker

Shawn Guo (1):
mmc: sdhci-esdhc: break out early if clock is 0

Stanislav Kinsbursky (2):
NFSd: introduce nfsd_destroy() helper
NFSd: set nfsd_serv to NULL after service destruction

Stefano Stabellini (1):

      xen/m2p: do not reuse kmap_op->dev_bus_addr

Stephen M. Cameron (2):
cciss: fix handling of protocol error
SCSI: hpsa: fix handling of protocol error

Stephen Warren (1):
sound: tegra_alc5632: remove HP detect GPIO inversion

Suresh Siddha (1):
x86, avx: don't use avx instructions with "noxsave" boot param

Søren Holm (1):
asix: Support DLink DUB-E100 H/W Ver C1

Takashi Iwai (4):
ALSA: hda - Fix missing Master volume for STAC9200/925x
ALSA: usb-audio: Fix bogus error messages for delay accounting
ALSA: hda - Fix Oops at codec reset/reconfig
ALSA: hda - Workaround for silent output on VAIO Z with ALC889

Tejun Heo (4):
workqueue: reimplement work_on_cpu() using system_wq
cpufreq/powernow-k8: workqueue user shouldn't migrate the kworker to another CPU
kthread_worker: reorganize to prepare for flush_kthread_work() reimplementation
kthread_worker: reimplement flush_kthread_work() to allow freeing the work item being executed

Timur Tabi (2):
powerpc/85xx: p1022ds: disable the NAND flash node if video is enabled powerpc/85xx: p1022ds: fix DIU/LBC switching with NAND enabled

Tomoya MORINAGA (2):
pch_uart: Fix rx error interrupt setting issue
pch_uart: Fix parity setting issue

Toshi Kani (1):
hpwdt: Fix kdump issue in hpwdt

Trond Myklebust (3):
NFS: Fix the initialisation of the readdir 'cookieverf' array
NFS: Fix a problem with the legacy binary mount code
NFS: Fix Oopses in nfs_lookup_revalidate and nfs4_lookup_revalidate

Tvrtko Ursulin (1):
drm/radeon/kms: extend the Fujitsu D3003-S2 board connector quirk to cover later silicon stepping

Tyler Hicks (1):
eCryptfs: Copy up attributes of the lower target inode after rename

Vinicius Costa Gomes (3):
Bluetooth: Fix not removing power_off delayed work
Bluetooth: Change signature of smp_conn_security()
Bluetooth: Fix sending a HCI Authorization Request over LE links

Wang Sen (1):
SCSI: scsi: virtio-scsi: Fix address translation failure of HighMem pages used by sg list

Wang Xingchao (1):
drm/i915: HDMI - Clear Audio Enable bit for Hot Plug

Weiping Pan (1):
rds: set correct msg_namelen

Wen Congyang (1):
tracing: Don't call page_to_pfn() if page is NULL

Weston Andros Adamson (1):
NFS: return error from decode_getfh in decode open

Will Deacon (5):
ARM: 7496/1: hw_breakpoint: don't rely on dfsr to show watchpoint access type
ARM: 7501/1: decompressor: reset ttbcr for VMSA ARMv7 cores
ARM: 7526/1: traps: send SIGILL if get_user fails on undef handling path
mutex: Place lock in contended state after fastpath_lock failure
ARM: 7467/1: mutex: use generic xchg-based implementation for ARMv6+

Wu Fengguang (1):
isdnloop: fix and simplify isdnloop_init()

Xinyu Chen (1):
tty: serial: imx: console write routing is unsafe on SMP

Xu, Anhua (1):
drm/i915: fix wrong order of parameters in port checking functions

Yevgeniy Melnichuk (1):
Bluetooth: Add support for Sony Vaio T-Series

Yuchung Cheng (1):
tcp: fix cwnd reduction for non-sack recovery

Yuval Mintz (1):

      bnx2x: fix 57840_MF pci id

[email protected] (1):
af_packet: remove BUG statement in tpacket_destruct_skb

qiuxishi (1):
memory hotplug: fix section info double registration bug

[email protected] (1):
SCSI: mpt2sas: Fix for issue - Unable to boot from the drive connected to HBA

[email protected] (1):
l2tp: avoid to use synchronize_rcu in tunnel free function

Éric Piel (1):
USB: ftdi-sio: add support for more Physik Instrumente devices

author
#1 lore raw
Documentation/sound/alsa/HD-Audio-Models.txt +1 -0
index 286ec04..82dd174 100644
@@ -47,6 +47,7 @@ ALC882/883/885/888/889
   acer-aspire-4930g	Acer Aspire 4930G/5930G/6530G/6930G/7730G
   acer-aspire-8930g	Acer Aspire 8330G/6935G
   acer-aspire		Acer Aspire others
+  no-primary-hp		VAIO Z workaround (for fixed speaker DAC)
 
 ALC861/660
 ==========
Makefile +1 -1
index 6453ead..b3dfc85 100644
@@ -1,6 +1,6 @@
 VERSION = 3
 PATCHLEVEL = 5
-SUBLEVEL = 4
+SUBLEVEL = 5
 EXTRAVERSION =
 NAME = Saber-toothed Squirrel
 
arch/alpha/include/asm/atomic.h +2 -2
index 3bb7ffe..c2cbe4f 100644
@@ -14,8 +14,8 @@
  */
 
 
-#define ATOMIC_INIT(i)		( (atomic_t) { (i) } )
-#define ATOMIC64_INIT(i)	( (atomic64_t) { (i) } )
+#define ATOMIC_INIT(i)		{ (i) }
+#define ATOMIC64_INIT(i)	{ (i) }
 
 #define atomic_read(v)		(*(volatile int *)&(v)->counter)
 #define atomic64_read(v)	(*(volatile long *)&(v)->counter)
arch/arm/Makefile +2 -2
index 0298b00..926d840 100644
@@ -279,10 +279,10 @@ zImage Image xipImage bootpImage uImage: vmlinux
 zinstall uinstall install: vmlinux
 	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@
 
-%.dtb:
+%.dtb: scripts
 	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
 
-dtbs:
+dtbs: scripts
 	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
 
 # We use MRPROPER_FILES and CLEAN_FILES now
arch/arm/boot/compressed/head.S +5 -0
index b8c64b8..bc67cbf 100644
@@ -653,16 +653,21 @@ __armv7_mmu_cache_on:
 		mcrne	p15, 0, r0, c8, c7, 0	@ flush I,D TLBs
 #endif
 		mrc	p15, 0, r0, c1, c0, 0	@ read control reg
+		bic	r0, r0, #1 << 28	@ clear SCTLR.TRE
 		orr	r0, r0, #0x5000		@ I-cache enable, RR cache replacement
 		orr	r0, r0, #0x003c		@ write buffer
 #ifdef CONFIG_MMU
 #ifdef CONFIG_CPU_ENDIAN_BE8
 		orr	r0, r0, #1 << 25	@ big-endian page tables
 #endif
+		mrcne   p15, 0, r6, c2, c0, 2   @ read ttb control reg
 		orrne	r0, r0, #1		@ MMU enabled
 		movne	r1, #0xfffffffd		@ domain 0 = client
+		bic     r6, r6, #1 << 31        @ 32-bit translation system
+		bic     r6, r6, #3 << 0         @ use only ttbr0
 		mcrne	p15, 0, r3, c2, c0, 0	@ load page table pointer
 		mcrne	p15, 0, r1, c3, c0, 0	@ load domain access control
+		mcrne   p15, 0, r6, c2, c0, 2   @ load ttb control
 #endif
 		mcr	p15, 0, r0, c7, c5, 4	@ ISB
 		mcr	p15, 0, r0, c1, c0, 0	@ load control register
arch/arm/include/asm/assembler.h +8 -0
index 03fb936..5c8b3bf4 100644
@@ -320,4 +320,12 @@
 	.size \name , . - \name
 	.endm
 
+	.macro check_uaccess, addr:req, size:req, limit:req, tmp:req, bad:req
+#ifndef CONFIG_CPU_USE_DOMAINS
+	adds	\tmp, \addr, #\size - 1
+	sbcccs	\tmp, \tmp, \limit
+	bcs	\bad
+#endif
+	.endm
+
 #endif /* __ASM_ASSEMBLER_H__ */
arch/arm/include/asm/mutex.h +4 -115

125 lines not on this page · raw message

arch/arm/include/asm/uaccess.h +27 -13
index 71f6536..0a070e9 100644
@@ -101,28 +101,39 @@ extern int __get_user_1(void *);
 extern int __get_user_2(void *);
 extern int __get_user_4(void *);
 
-#define __get_user_x(__r2,__p,__e,__s,__i...)				\
+#define __GUP_CLOBBER_1	"lr", "cc"
+#ifdef CONFIG_CPU_USE_DOMAINS
+#define __GUP_CLOBBER_2	"ip", "lr", "cc"
+#else
+#define __GUP_CLOBBER_2 "lr", "cc"
+#endif
+#define __GUP_CLOBBER_4	"lr", "cc"
+
+#define __get_user_x(__r2,__p,__e,__l,__s)				\
 	   __asm__ __volatile__ (					\
 		__asmeq("%0", "r0") __asmeq("%1", "r2")			\
+		__asmeq("%3", "r1")					\
 		"bl	__get_user_" #__s				\
 		: "=&r" (__e), "=r" (__r2)				\
-		: "0" (__p)						\
-		: __i, "cc")
+		: "0" (__p), "r" (__l)					\
+		: __GUP_CLOBBER_##__s)
 
 #define get_user(x,p)							\
 	({								\
+		unsigned long __limit = current_thread_info()->addr_limit - 1; \
 		register const typeof(*(p)) __user *__p asm("r0") = (p);\
 		register unsigned long __r2 asm("r2");			\
+		register unsigned long __l asm("r1") = __limit;		\
 		register int __e asm("r0");				\
 		switch (sizeof(*(__p))) {				\
 		case 1:							\
-			__get_user_x(__r2, __p, __e, 1, "lr");		\
-	       		break;						\
+			__get_user_x(__r2, __p, __e, __l, 1);		\
+			break;						\
 		case 2:							\
-			__get_user_x(__r2, __p, __e, 2, "r3", "lr");	\
+			__get_user_x(__r2, __p, __e, __l, 2);		\
 			break;						\
 		case 4:							\
-	       		__get_user_x(__r2, __p, __e, 4, "lr");		\
+			__get_user_x(__r2, __p, __e, __l, 4);		\
 			break;						\
 		default: __e = __get_user_bad(); break;			\
 		}							\
@@ -135,31 +146,34 @@ extern int __put_user_2(void *, unsigned int);
 extern int __put_user_4(void *, unsigned int);
 extern int __put_user_8(void *, unsigned long long);
 
-#define __put_user_x(__r2,__p,__e,__s)					\
+#define __put_user_x(__r2,__p,__e,__l,__s)				\
 	   __asm__ __volatile__ (					\
 		__asmeq("%0", "r0") __asmeq("%2", "r2")			\
+		__asmeq("%3", "r1")					\
 		"bl	__put_user_" #__s				\
 		: "=&r" (__e)						\
-		: "0" (__p), "r" (__r2)					\
+		: "0" (__p), "r" (__r2), "r" (__l)			\
 		: "ip", "lr", "cc")
 
 #define put_user(x,p)							\
 	({								\
+		unsigned long __limit = current_thread_info()->addr_limit - 1; \
 		register const typeof(*(p)) __r2 asm("r2") = (x);	\
 		register const typeof(*(p)) __user *__p asm("r0") = (p);\
+		register unsigned long __l asm("r1") = __limit;		\
 		register int __e asm("r0");				\
 		switch (sizeof(*(__p))) {				\
 		case 1:							\
-			__put_user_x(__r2, __p, __e, 1);		\
+			__put_user_x(__r2, __p, __e, __l, 1);		\
 			break;						\
 		case 2:							\
-			__put_user_x(__r2, __p, __e, 2);		\
+			__put_user_x(__r2, __p, __e, __l, 2);		\
 			break;						\
 		case 4:							\
-			__put_user_x(__r2, __p, __e, 4);		\
+			__put_user_x(__r2, __p, __e, __l, 4);		\
 			break;						\
 		case 8:							\
-			__put_user_x(__r2, __p, __e, 8);		\
+			__put_user_x(__r2, __p, __e, __l, 8);		\
 			break;						\
 		default: __e = __put_user_bad(); break;			\
 		}							\
arch/arm/kernel/hw_breakpoint.c +40 -15

74 lines not on this page · raw message

arch/arm/kernel/traps.c +7 -4
index c7cae6b..eeb7520 100644
@@ -388,20 +388,23 @@ asmlinkage void __exception do_undefinstr(struct pt_regs *regs)
 #endif
 			instr = *(u32 *) pc;
 	} else if (thumb_mode(regs)) {
-		get_user(instr, (u16 __user *)pc);
+		if (get_user(instr, (u16 __user *)pc))
+			goto die_sig;
 		if (is_wide_instruction(instr)) {
 			unsigned int instr2;
-			get_user(instr2, (u16 __user *)pc+1);
+			if (get_user(instr2, (u16 __user *)pc+1))
+				goto die_sig;
 			instr <<= 16;
 			instr |= instr2;
 		}
-	} else {
-		get_user(instr, (u32 __user *)pc);
+	} else if (get_user(instr, (u32 __user *)pc)) {
+		goto die_sig;
 	}
 
 	if (call_undef_hook(regs, instr) == 0)
 		return;
 
+die_sig:
 #ifdef CONFIG_DEBUG_USER
 	if (user_debug & UDBG_UNDEFINED) {
 		printk(KERN_INFO "%s (%d): undefined instruction: pc=%p\n",
arch/arm/lib/getuser.S +15 -8
index 11093a7..9b06bb4 100644
@@ -16,8 +16,9 @@
  * __get_user_X
  *
  * Inputs:	r0 contains the address
+ *		r1 contains the address limit, which must be preserved
  * Outputs:	r0 is the error code
- *		r2, r3 contains the zero-extended value
+ *		r2 contains the zero-extended value
  *		lr corrupted
  *
  * No other registers must be altered.  (see <asm/uaccess.h>
@@ -27,33 +28,39 @@
  * Note also that it is intended that __get_user_bad is not global.
  */
 #include <linux/linkage.h>
+#include <asm/assembler.h>
 #include <asm/errno.h>
 #include <asm/domain.h>
 
 ENTRY(__get_user_1)
+	check_uaccess r0, 1, r1, r2, __get_user_bad
 1: TUSER(ldrb)	r2, [r0]
 	mov	r0, #0
 	mov	pc, lr
 ENDPROC(__get_user_1)
 
 ENTRY(__get_user_2)
-#ifdef CONFIG_THUMB2_KERNEL
-2: TUSER(ldrb)	r2, [r0]
-3: TUSER(ldrb)	r3, [r0, #1]
+	check_uaccess r0, 2, r1, r2, __get_user_bad
+#ifdef CONFIG_CPU_USE_DOMAINS
+rb	.req	ip
+2:	ldrbt	r2, [r0], #1
+3:	ldrbt	rb, [r0], #0
 #else
-2: TUSER(ldrb)	r2, [r0], #1
-3: TUSER(ldrb)	r3, [r0]
+rb	.req	r0
+2:	ldrb	r2, [r0]
+3:	ldrb	rb, [r0, #1]
 #endif
 #ifndef __ARMEB__
-	orr	r2, r2, r3, lsl #8
+	orr	r2, r2, rb, lsl #8
 #else
-	orr	r2, r3, r2, lsl #8
+	orr	r2, rb, r2, lsl #8
 #endif
 	mov	r0, #0
 	mov	pc, lr
 ENDPROC(__get_user_2)
 
 ENTRY(__get_user_4)
+	check_uaccess r0, 4, r1, r2, __get_user_bad
 4: TUSER(ldr)	r2, [r0]
 	mov	r0, #0
 	mov	pc, lr
arch/arm/lib/putuser.S +6 -0
index 7db2599..3d73dcb 100644
@@ -16,6 +16,7 @@
  * __put_user_X
  *
  * Inputs:	r0 contains the address
+ *		r1 contains the address limit, which must be preserved
  *		r2, r3 contains the value
  * Outputs:	r0 is the error code
  *		lr corrupted
@@ -27,16 +28,19 @@
  * Note also that it is intended that __put_user_bad is not global.
  */
 #include <linux/linkage.h>
+#include <asm/assembler.h>
 #include <asm/errno.h>
 #include <asm/domain.h>
 
 ENTRY(__put_user_1)
+	check_uaccess r0, 1, r1, ip, __put_user_bad
 1: TUSER(strb)	r2, [r0]
 	mov	r0, #0
 	mov	pc, lr
 ENDPROC(__put_user_1)
 
 ENTRY(__put_user_2)
+	check_uaccess r0, 2, r1, ip, __put_user_bad
 	mov	ip, r2, lsr #8
 #ifdef CONFIG_THUMB2_KERNEL
 #ifndef __ARMEB__
@@ -60,12 +64,14 @@ ENTRY(__put_user_2)
 ENDPROC(__put_user_2)
 
 ENTRY(__put_user_4)
+	check_uaccess r0, 4, r1, ip, __put_user_bad
 4: TUSER(str)	r2, [r0]
 	mov	r0, #0
 	mov	pc, lr
 ENDPROC(__put_user_4)
 
 ENTRY(__put_user_8)
+	check_uaccess r0, 8, r1, ip, __put_user_bad
 #ifdef CONFIG_THUMB2_KERNEL
 5: TUSER(str)	r2, [r0]
 6: TUSER(str)	r3, [r0, #4]
arch/arm/mach-imx/clk-imx25.c +2 -4
index fdd8cc8..4431a62 100644
@@ -222,10 +222,8 @@ int __init mx25_clocks_init(void)
 	clk_register_clkdev(clk[lcdc_ipg], "ipg", "imx-fb.0");
 	clk_register_clkdev(clk[lcdc_ahb], "ahb", "imx-fb.0");
 	clk_register_clkdev(clk[wdt_ipg], NULL, "imx2-wdt.0");
-	clk_register_clkdev(clk[ssi1_ipg_per], "per", "imx-ssi.0");
-	clk_register_clkdev(clk[ssi1_ipg], "ipg", "imx-ssi.0");
-	clk_register_clkdev(clk[ssi2_ipg_per], "per", "imx-ssi.1");
-	clk_register_clkdev(clk[ssi2_ipg], "ipg", "imx-ssi.1");
+	clk_register_clkdev(clk[ssi1_ipg], NULL, "imx-ssi.0");
+	clk_register_clkdev(clk[ssi2_ipg], NULL, "imx-ssi.1");
 	clk_register_clkdev(clk[esdhc1_ipg_per], "per", "sdhci-esdhc-imx25.0");
 	clk_register_clkdev(clk[esdhc1_ipg], "ipg", "sdhci-esdhc-imx25.0");
 	clk_register_clkdev(clk[esdhc1_ahb], "ahb", "sdhci-esdhc-imx25.0");
arch/arm/mach-imx/clk-imx35.c +2 -4
index c6422fb..65fb8bc 100644
@@ -230,10 +230,8 @@ int __init mx35_clocks_init()
 	clk_register_clkdev(clk[ipu_gate], NULL, "mx3_sdc_fb");
 	clk_register_clkdev(clk[owire_gate], NULL, "mxc_w1");
 	clk_register_clkdev(clk[sdma_gate], NULL, "imx35-sdma");
-	clk_register_clkdev(clk[ipg], "ipg", "imx-ssi.0");
-	clk_register_clkdev(clk[ssi1_div_post], "per", "imx-ssi.0");
-	clk_register_clkdev(clk[ipg], "ipg", "imx-ssi.1");
-	clk_register_clkdev(clk[ssi2_div_post], "per", "imx-ssi.1");
+	clk_register_clkdev(clk[ssi1_gate], NULL, "imx-ssi.0");
+	clk_register_clkdev(clk[ssi2_gate], NULL, "imx-ssi.1");
 	/* i.mx35 has the i.mx21 type uart */
 	clk_register_clkdev(clk[uart1_gate], "per", "imx21-uart.0");
 	clk_register_clkdev(clk[ipg], "ipg", "imx21-uart.0");
arch/arm/mach-imx/mach-armadillo5x0.c +2 -1
index c650145..db1f244 100644
@@ -526,7 +526,8 @@ static void __init armadillo5x0_init(void)
 	imx31_add_mxc_nand(&armadillo5x0_nand_board_info);
 
 	/* set NAND page size to 2k if not configured via boot mode pins */
-	__raw_writel(__raw_readl(MXC_CCM_RCSR) | (1 << 30), MXC_CCM_RCSR);
+	__raw_writel(__raw_readl(mx3_ccm_base + MXC_CCM_RCSR) |
+					(1 << 30), mx3_ccm_base + MXC_CCM_RCSR);
 
 	/* RTC */
 	/* Get RTC IRQ and register the chip */
arch/arm/mach-omap2/timer.c +7 -0
index 840929b..2cdbcc7 100644
@@ -263,6 +263,7 @@ static u32 notrace dmtimer_read_sched_clock(void)
 	return 0;
 }
 
+#ifdef CONFIG_OMAP_32K_TIMER
 /* Setup free-running counter for clocksource */
 static int __init omap2_sync32k_clocksource_init(void)
 {
@@ -302,6 +303,12 @@ static int __init omap2_sync32k_clocksource_init(void)
 
 	return ret;
 }
+#else
+static inline int omap2_sync32k_clocksource_init(void)
+{
+	return -ENODEV;
+}
+#endif
 
 static void __init omap2_gptimer_clocksource_init(int gptimer_id,
 						const char *fck_source)
arch/arm/mm/mm.h +3 -0
index 2e8a1ef..87fa3f2 100644
@@ -55,6 +55,9 @@ extern void __flush_dcache_page(struct address_space *mapping, struct page *page
 /* permanent static mappings from iotable_init() */
 #define VM_ARM_STATIC_MAPPING	0x40000000
 
+/* empty mapping */
+#define VM_ARM_EMPTY_MAPPING	0x20000000
+
 /* mapping type (attributes) for permanent static mappings */
 #define VM_ARM_MTYPE(mt)		((mt) << 20)
 #define VM_ARM_MTYPE_MASK	(0x1f << 20)
arch/arm/mm/mmu.c +2 -2
index cf4528d..15c6abe 100644
@@ -813,7 +813,7 @@ static void __init pmd_empty_section_gap(unsigned long addr)
 	vm = early_alloc_aligned(sizeof(*vm), __alignof__(*vm));
 	vm->addr = (void *)addr;
 	vm->size = SECTION_SIZE;
-	vm->flags = VM_IOREMAP | VM_ARM_STATIC_MAPPING;
+	vm->flags = VM_IOREMAP | VM_ARM_EMPTY_MAPPING;
 	vm->caller = pmd_empty_section_gap;
 	vm_area_add_early(vm);
 }
@@ -826,7 +826,7 @@ static void __init fill_pmd_gaps(void)
 
 	/* we're still single threaded hence no lock needed here */
 	for (vm = vmlist; vm; vm = vm->next) {
-		if (!(vm->flags & VM_ARM_STATIC_MAPPING))
+		if (!(vm->flags & (VM_ARM_STATIC_MAPPING | VM_ARM_EMPTY_MAPPING)))
 			continue;
 		addr = (unsigned long)vm->addr;
 		if (addr < next)
arch/mips/mm/gup.c +2 -0
index 33aadbc..dcfd573 100644
@@ -152,6 +152,8 @@ static int gup_huge_pud(pud_t pud, unsigned long addr, unsigned long end,
 	do {
 		VM_BUG_ON(compound_head(page) != head);
 		pages[*nr] = page;
+		if (PageTail(page))
+			get_huge_page_tail(page);
 		(*nr)++;
 		page++;
 		refs++;
arch/powerpc/platforms/85xx/p1022_ds.c +91 -11

142 lines not on this page · raw message

arch/s390/oprofile/init.c +5 -5
index 2297be4..abe8722 100644
@@ -171,7 +171,7 @@ static ssize_t hw_interval_write(struct file *file, char const __user *buf,
 	if (*offset)
 		return -EINVAL;
 	retval = oprofilefs_ulong_from_user(&val, buf, count);
-	if (retval)
+	if (retval <= 0)
 		return retval;
 	if (val < oprofile_min_interval)
 		oprofile_hw_interval = oprofile_min_interval;
@@ -214,7 +214,7 @@ static ssize_t hwsampler_zero_write(struct file *file, char const __user *buf,
 		return -EINVAL;
 
 	retval = oprofilefs_ulong_from_user(&val, buf, count);
-	if (retval)
+	if (retval <= 0)
 		return retval;
 	if (val != 0)
 		return -EINVAL;
@@ -245,7 +245,7 @@ static ssize_t hwsampler_kernel_write(struct file *file, char const __user *buf,
 		return -EINVAL;
 
 	retval = oprofilefs_ulong_from_user(&val, buf, count);
-	if (retval)
+	if (retval <= 0)
 		return retval;
 
 	if (val != 0 && val != 1)
@@ -280,7 +280,7 @@ static ssize_t hwsampler_user_write(struct file *file, char const __user *buf,
 		return -EINVAL;
 
 	retval = oprofilefs_ulong_from_user(&val, buf, count);
-	if (retval)
+	if (retval <= 0)
 		return retval;
 
 	if (val != 0 && val != 1)
@@ -319,7 +319,7 @@ static ssize_t timer_enabled_write(struct file *file, char const __user *buf,
 		return -EINVAL;
 
 	retval = oprofilefs_ulong_from_user(&val, buf, count);
-	if (retval)
+	if (retval <= 0)
 		return retval;
 
 	if (val != 0 && val != 1)
arch/x86/include/asm/xen/page.h +2 -1
index 93971e8..472b9b7 100644
@@ -51,7 +51,8 @@ extern unsigned long set_phys_range_identity(unsigned long pfn_s,
 
 extern int m2p_add_override(unsigned long mfn, struct page *page,
 			    struct gnttab_map_grant_ref *kmap_op);
-extern int m2p_remove_override(struct page *page, bool clear_pte);
+extern int m2p_remove_override(struct page *page,
+				struct gnttab_map_grant_ref *kmap_op);
 extern struct page *m2p_find_override(unsigned long mfn);
 extern unsigned long m2p_find_override_pfn(unsigned long mfn, unsigned long pfn);
 
arch/x86/kernel/cpu/common.c +2 -0
index 6b9333b..cc9c146 100644
@@ -144,6 +144,8 @@ static int __init x86_xsave_setup(char *s)
 {
 	setup_clear_cpu_cap(X86_FEATURE_XSAVE);
 	setup_clear_cpu_cap(X86_FEATURE_XSAVEOPT);
+	setup_clear_cpu_cap(X86_FEATURE_AVX);
+	setup_clear_cpu_cap(X86_FEATURE_AVX2);
 	return 1;
 }
 __setup("noxsave", x86_xsave_setup);
arch/x86/kernel/cpu/perf_event_amd_ibs.c +12 -0
index da9bcdc..4018f6e 100644
@@ -207,6 +207,15 @@ static int perf_ibs_precise_event(struct perf_event *event, u64 *config)
 	return -EOPNOTSUPP;
 }
 
+static const struct perf_event_attr ibs_notsupp = {
+	.exclude_user	= 1,
+	.exclude_kernel	= 1,
+	.exclude_hv	= 1,
+	.exclude_idle	= 1,
+	.exclude_host	= 1,
+	.exclude_guest	= 1,
+};
+
 static int perf_ibs_init(struct perf_event *event)
 {
 	struct hw_perf_event *hwc = &event->hw;
@@ -227,6 +236,9 @@ static int perf_ibs_init(struct perf_event *event)
 	if (event->pmu != &perf_ibs->pmu)
 		return -ENOENT;
 
+	if (perf_flags(&event->attr) & perf_flags(&ibs_notsupp))
+		return -EINVAL;
+
 	if (config & ~perf_ibs->config_mask)
 		return -EINVAL;
 
arch/x86/xen/enlighten.c +4 -0
index ff962d4..405307f 100644
@@ -1422,6 +1422,10 @@ asmlinkage void __init xen_start_kernel(void)
 		pci_request_acs();
 
 		xen_acpi_sleep_register();
+
+		/* Avoid searching for BIOS MP tables */
+		x86_init.mpparse.find_smp_config = x86_init_noop;
+		x86_init.mpparse.get_smp_config = x86_init_uint_noop;
 	}
 #ifdef CONFIG_PCI
 	/* PCI BIOS service won't work from a PV guest. */
arch/x86/xen/p2m.c +11 -16
index 76ba0e9..72213da 100644
@@ -828,9 +828,6 @@ int m2p_add_override(unsigned long mfn, struct page *page,
 
 			xen_mc_issue(PARAVIRT_LAZY_MMU);
 		}
-		/* let's use dev_bus_addr to record the old mfn instead */
-		kmap_op->dev_bus_addr = page->index;
-		page->index = (unsigned long) kmap_op;
 	}
 	spin_lock_irqsave(&m2p_override_lock, flags);
 	list_add(&page->lru,  &m2p_overrides[mfn_hash(mfn)]);
@@ -857,7 +854,8 @@ int m2p_add_override(unsigned long mfn, struct page *page,
 	return 0;
 }
 EXPORT_SYMBOL_GPL(m2p_add_override);
-int m2p_remove_override(struct page *page, bool clear_pte)
+int m2p_remove_override(struct page *page,
+		struct gnttab_map_grant_ref *kmap_op)
 {
 	unsigned long flags;
 	unsigned long mfn;
@@ -887,10 +885,8 @@ int m2p_remove_override(struct page *page, bool clear_pte)
 	WARN_ON(!PagePrivate(page));
 	ClearPagePrivate(page);
 
-	if (clear_pte) {
-		struct gnttab_map_grant_ref *map_op =
-			(struct gnttab_map_grant_ref *) page->index;
-		set_phys_to_machine(pfn, map_op->dev_bus_addr);
+	set_phys_to_machine(pfn, page->index);
+	if (kmap_op != NULL) {
 		if (!PageHighMem(page)) {
 			struct multicall_space mcs;
 			struct gnttab_unmap_grant_ref *unmap_op;
@@ -902,13 +898,13 @@ int m2p_remove_override(struct page *page, bool clear_pte)
 			 * issued. In this case handle is going to -1 because
 			 * it hasn't been modified yet.
 			 */
-			if (map_op->handle == -1)
+			if (kmap_op->handle == -1)
 				xen_mc_flush();
 			/*
-			 * Now if map_op->handle is negative it means that the
+			 * Now if kmap_op->handle is negative it means that the
 			 * hypercall actually returned an error.
 			 */
-			if (map_op->handle == GNTST_general_error) {
+			if (kmap_op->handle == GNTST_general_error) {
 				printk(KERN_WARNING "m2p_remove_override: "
 						"pfn %lx mfn %lx, failed to modify kernel mappings",
 						pfn, mfn);
@@ -918,8 +914,8 @@ int m2p_remove_override(struct page *page, bool clear_pte)
 			mcs = xen_mc_entry(
 					sizeof(struct gnttab_unmap_grant_ref));
 			unmap_op = mcs.args;
-			unmap_op->host_addr = map_op->host_addr;
-			unmap_op->handle = map_op->handle;
+			unmap_op->host_addr = kmap_op->host_addr;
+			unmap_op->handle = kmap_op->handle;
 			unmap_op->dev_bus_addr = 0;
 
 			MULTI_grant_table_op(mcs.mc,
@@ -930,10 +926,9 @@ int m2p_remove_override(struct page *page, bool clear_pte)
 			set_pte_at(&init_mm, address, ptep,
 					pfn_pte(pfn, PAGE_KERNEL));
 			__flush_tlb_single(address);
-			map_op->host_addr = 0;
+			kmap_op->host_addr = 0;
 		}
-	} else
-		set_phys_to_machine(pfn, page->index);
+	}
 
 	/* p2m(m2p(mfn)) == FOREIGN_FRAME(mfn): the mfn is already present
 	 * somewhere in this domain, even before being added to the
arch/x86/xen/setup.c +4 -0
index f2583ed..c207fdb 100644
@@ -17,6 +17,7 @@
 #include <asm/e820.h>
 #include <asm/setup.h>
 #include <asm/acpi.h>
+#include <asm/numa.h>
 #include <asm/xen/hypervisor.h>
 #include <asm/xen/hypercall.h>
 
@@ -549,4 +550,7 @@ void __init xen_arch_setup(void)
 	disable_cpufreq();
 	WARN_ON(set_pm_idle_to_default());
 	fiddle_vdso();
+#ifdef CONFIG_NUMA
+	numa_off = 1;
+#endif
 }
drivers/acpi/bus.c +10 -0
index adceafd..92107ee 100644
@@ -237,6 +237,16 @@ static int __acpi_bus_get_power(struct acpi_device *device, int *state)
 	} else if (result == ACPI_STATE_D3_HOT) {
 		result = ACPI_STATE_D3;
 	}
+
+	/*
+	 * If we were unsure about the device parent's power state up to this
+	 * point, the fact that the device is in D0 implies that the parent has
+	 * to be in D0 too.
+	 */
+	if (device->parent && device->parent->power.state == ACPI_STATE_UNKNOWN
+	    && result == ACPI_STATE_D0)
+		device->parent->power.state = ACPI_STATE_D0;
+
 	*state = result;
 
  out:
drivers/acpi/power.c +24 -12
index dd6d6a3..fe71911 100644
@@ -103,6 +103,7 @@ struct acpi_power_resource {
 
 	/* List of devices relying on this power resource */
 	struct acpi_power_resource_device *devices;
+	struct mutex devices_lock;
 };
 
 static struct list_head acpi_power_resource_list;
@@ -221,7 +222,6 @@ static void acpi_power_on_device(struct acpi_power_managed_device *device)
 
 static int __acpi_power_on(struct acpi_power_resource *resource)
 {
-	struct acpi_power_resource_device *device_list = resource->devices;
 	acpi_status status = AE_OK;
 
 	status = acpi_evaluate_object(resource->device->handle, "_ON", NULL, NULL);
@@ -234,19 +234,15 @@ static int __acpi_power_on(struct acpi_power_resource *resource)
 	ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Power resource [%s] turned on\n",
 			  resource->name));
 
-	while (device_list) {
-		acpi_power_on_device(device_list->device);
-
-		device_list = device_list->next;
-	}
-
 	return 0;
 }
 
 static int acpi_power_on(acpi_handle handle)
 {
 	int result = 0;
+	bool resume_device = false;
 	struct acpi_power_resource *resource = NULL;
+	struct acpi_power_resource_device *device_list;
 
 	result = acpi_power_get_context(handle, &resource);
 	if (result)
@@ -262,10 +258,25 @@ static int acpi_power_on(acpi_handle handle)
 		result = __acpi_power_on(resource);
 		if (result)
 			resource->ref_count--;
+		else
+			resume_device = true;
 	}
 
 	mutex_unlock(&resource->resource_lock);
 
+	if (!resume_device)
+		return result;
+
+	mutex_lock(&resource->devices_lock);
+
+	device_list = resource->devices;
+	while (device_list) {
+		acpi_power_on_device(device_list->device);
+		device_list = device_list->next;
+	}
+
+	mutex_unlock(&resource->devices_lock);
+
 	return result;
 }
 
@@ -351,7 +362,7 @@ static void __acpi_power_resource_unregister_device(struct device *dev,
 	if (acpi_power_get_context(res_handle, &resource))
 		return;
 
-	mutex_lock(&resource->resource_lock);
+	mutex_lock(&resource->devices_lock);
 	prev = NULL;
 	curr = resource->devices;
 	while (curr) {
@@ -368,7 +379,7 @@ static void __acpi_power_resource_unregister_device(struct device *dev,
 		prev = curr;
 		curr = curr->next;
 	}
-	mutex_unlock(&resource->resource_lock);
+	mutex_unlock(&resource->devices_lock);
 }
 
 /* Unlink dev from all power resources in _PR0 */
@@ -409,10 +420,10 @@ static int __acpi_power_resource_register_device(
 
 	power_resource_device->device = powered_device;
 
-	mutex_lock(&resource->resource_lock);
+	mutex_lock(&resource->devices_lock);
 	power_resource_device->next = resource->devices;
 	resource->devices = power_resource_device;
-	mutex_unlock(&resource->resource_lock);
+	mutex_unlock(&resource->devices_lock);
 
 	return 0;
 }
@@ -457,7 +468,7 @@ int acpi_power_resource_register_device(struct device *dev, acpi_handle handle)
 	return ret;
 
 no_power_resource:
-	printk(KERN_WARNING PREFIX "Invalid Power Resource to register!");
+	printk(KERN_DEBUG PREFIX "Invalid Power Resource to register!");
 	return -ENODEV;
 }
 
@@ -715,6 +726,7 @@ static int acpi_power_add(struct acpi_device *device)
 
 	resource->device = device;
 	mutex_init(&resource->resource_lock);
+	mutex_init(&resource->devices_lock);
 	strcpy(resource->name, device->pnp.bus_id);
 	strcpy(acpi_device_name(device), ACPI_POWER_DEVICE_NAME);
 	strcpy(acpi_device_class(device), ACPI_POWER_CLASS);
drivers/ata/ahci.c +2 -0
index ebaf67e..93cbc44 100644
@@ -396,6 +396,8 @@ static const struct pci_device_id ahci_pci_tbl[] = {
 	  .driver_data = board_ahci_yes_fbs },			/* 88se9125 */
 	{ PCI_DEVICE(0x1b4b, 0x917a),
 	  .driver_data = board_ahci_yes_fbs },			/* 88se9172 */
+	{ PCI_DEVICE(0x1b4b, 0x9192),
+	  .driver_data = board_ahci_yes_fbs },			/* 88se9172 on some Gigabyte */
 	{ PCI_DEVICE(0x1b4b, 0x91a3),
 	  .driver_data = board_ahci_yes_fbs },
 
drivers/ata/libata-core.c +1 -0
index cece3a4..71e8385 100644
@@ -4126,6 +4126,7 @@ static const struct ata_blacklist_entry ata_device_blacklist [] = {
 
 	/* Devices which aren't very happy with higher link speeds */
 	{ "WD My Book",			NULL,	ATA_HORKAGE_1_5_GBPS, },
+	{ "Seagate FreeAgent GoFlex",	NULL,	ATA_HORKAGE_1_5_GBPS, },
 
 	/*
 	 * Devices which choke on SETXFER.  Applies only if both the
drivers/base/core.c +2 -2
index b18138a..c598122 100644
@@ -1895,8 +1895,8 @@ int __dev_printk(const char *level, const struct device *dev,
 				    "DEVICE=+%s:%s", subsys, dev_name(dev));
 	}
 skip:
-	if (level[3])
-		level_extra = &level[3]; /* skip past "<L>" */
+	if (level[2])
+		level_extra = &level[2]; /* skip past KERN_SOH "L" */
 
 	return printk_emit(0, level[1] - '0',
 			   dictlen ? dict : NULL, dictlen,
drivers/base/power/runtime.c +5 -8
index 5989487..7d9c1cb 100644
@@ -147,6 +147,8 @@ static int rpm_check_suspend_allowed(struct device *dev)
 	    || (dev->power.request_pending
 			&& dev->power.request == RPM_REQ_RESUME))
 		retval = -EAGAIN;
+	else if (__dev_pm_qos_read_value(dev) < 0)
+		retval = -EPERM;
 	else if (dev->power.runtime_status == RPM_SUSPENDED)
 		retval = 1;
 
@@ -388,7 +390,6 @@ static int rpm_suspend(struct device *dev, int rpmflags)
 		goto repeat;
 	}
 
-	dev->power.deferred_resume = false;
 	if (dev->power.no_callbacks)
 		goto no_callback;	/* Assume success. */
 
@@ -403,12 +404,6 @@ static int rpm_suspend(struct device *dev, int rpmflags)
 		goto out;
 	}
 
-	if (__dev_pm_qos_read_value(dev) < 0) {
-		/* Negative PM QoS constraint means "never suspend". */
-		retval = -EPERM;
-		goto out;
-	}
-
 	__update_runtime_status(dev, RPM_SUSPENDING);
 
 	if (dev->pm_domain)
@@ -440,6 +435,7 @@ static int rpm_suspend(struct device *dev, int rpmflags)
 	wake_up_all(&dev->power.wait_queue);
 
 	if (dev->power.deferred_resume) {
+		dev->power.deferred_resume = false;
 		rpm_resume(dev, 0);
 		retval = -EAGAIN;
 		goto out;
@@ -584,6 +580,7 @@ static int rpm_resume(struct device *dev, int rpmflags)
 		    || dev->parent->power.runtime_status == RPM_ACTIVE) {
 			atomic_inc(&dev->parent->power.child_count);
 			spin_unlock(&dev->parent->power.lock);
+			retval = 1;
 			goto no_callback;	/* Assume success. */
 		}
 		spin_unlock(&dev->parent->power.lock);
@@ -664,7 +661,7 @@ static int rpm_resume(struct device *dev, int rpmflags)
 	}
 	wake_up_all(&dev->power.wait_queue);
 
-	if (!retval)
+	if (retval >= 0)
 		rpm_idle(dev, RPM_ASYNC);
 
  out:
drivers/block/cciss_scsi.c +1 -0
index 38aa6dd..da33111 100644
@@ -795,6 +795,7 @@ static void complete_scsi_command(CommandList_struct *c, int timeout,
 				}
 			break;
 			case CMD_PROTOCOL_ERR:
+				cmd->result = DID_ERROR << 16;
 				dev_warn(&h->pdev->dev,
 					"%p has protocol error\n", c);
                         break;
drivers/block/nbd.c +9 -0
index 061427a..3c4c225 100644
@@ -445,6 +445,14 @@ static void nbd_clear_que(struct nbd_device *nbd)
 		req->errors++;
 		nbd_end_request(req);
 	}
+
+	while (!list_empty(&nbd->waiting_queue)) {
+		req = list_entry(nbd->waiting_queue.next, struct request,
+				 queuelist);
+		list_del_init(&req->queuelist);
+		req->errors++;
+		nbd_end_request(req);
+	}
 }
 
 
@@ -594,6 +602,7 @@ static int __nbd_ioctl(struct block_device *bdev, struct nbd_device *nbd,
 		nbd->file = NULL;
 		nbd_clear_que(nbd);
 		BUG_ON(!list_empty(&nbd->queue_head));
+		BUG_ON(!list_empty(&nbd->waiting_queue));
 		if (file)
 			fput(file);
 		return 0;
drivers/block/xen-blkback/blkback.c +1 -1
index 73f196c..c6decb9 100644
@@ -337,7 +337,7 @@ static void xen_blkbk_unmap(struct pending_req *req)
 		invcount++;
 	}
 
-	ret = gnttab_unmap_refs(unmap, pages, invcount, false);
+	ret = gnttab_unmap_refs(unmap, NULL, pages, invcount);
 	BUG_ON(ret);
 }
 
drivers/bluetooth/ath3k.c +4 -0
index 10308cd..fc2de55 100644
@@ -79,12 +79,14 @@ static struct usb_device_id ath3k_table[] = {
 	{ USB_DEVICE(0x13d3, 0x3362) },
 	{ USB_DEVICE(0x0CF3, 0xE004) },
 	{ USB_DEVICE(0x0930, 0x0219) },
+	{ USB_DEVICE(0x0489, 0xe057) },
 
 	/* Atheros AR5BBU12 with sflash firmware */
 	{ USB_DEVICE(0x0489, 0xE02C) },
 
 	/* Atheros AR5BBU22 with sflash firmware */
 	{ USB_DEVICE(0x0489, 0xE03C) },
+	{ USB_DEVICE(0x0489, 0xE036) },
 
 	{ }	/* Terminating entry */
 };
@@ -104,9 +106,11 @@ static struct usb_device_id ath3k_blist_tbl[] = {
 	{ USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 },
+	{ USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 },
 
 	/* Atheros AR5BBU22 with sflash firmware */
 	{ USB_DEVICE(0x0489, 0xE03C), .driver_info = BTUSB_ATH3012 },
+	{ USB_DEVICE(0x0489, 0xE036), .driver_info = BTUSB_ATH3012 },
 
 	{ }	/* Terminating entry */
 };
drivers/bluetooth/btusb.c +8 -4
index 83ebb24..b5f008c 100644
@@ -60,6 +60,9 @@ static struct usb_device_id btusb_table[] = {
 	/* Generic Bluetooth USB device */
 	{ USB_DEVICE_INFO(0xe0, 0x01, 0x01) },
 
+	/* Apple-specific (Broadcom) devices */
+	{ USB_VENDOR_AND_INTERFACE_INFO(0x05ac, 0xff, 0x01, 0x01) },
+
 	/* Broadcom SoftSailing reporting vendor specific */
 	{ USB_DEVICE(0x0a5c, 0x21e1) },
 
@@ -102,15 +105,14 @@ static struct usb_device_id btusb_table[] = {
 
 	/* Broadcom BCM20702A0 */
 	{ USB_DEVICE(0x0489, 0xe042) },
-	{ USB_DEVICE(0x0a5c, 0x21e3) },
-	{ USB_DEVICE(0x0a5c, 0x21e6) },
-	{ USB_DEVICE(0x0a5c, 0x21e8) },
-	{ USB_DEVICE(0x0a5c, 0x21f3) },
 	{ USB_DEVICE(0x413c, 0x8197) },
 
 	/* Foxconn - Hon Hai */
 	{ USB_DEVICE(0x0489, 0xe033) },
 
+	/*Broadcom devices with vendor specific id */
+	{ USB_VENDOR_AND_INTERFACE_INFO(0x0a5c, 0xff, 0x01, 0x01) },
+
 	{ }	/* Terminating entry */
 };
 
@@ -141,12 +143,14 @@ static struct usb_device_id blacklist_table[] = {
 	{ USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 },
 	{ USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 },
+	{ USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 },
 
 	/* Atheros AR5BBU12 with sflash firmware */
 	{ USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE },
 
 	/* Atheros AR5BBU12 with sflash firmware */
 	{ USB_DEVICE(0x0489, 0xe03c), .driver_info = BTUSB_ATH3012 },
+	{ USB_DEVICE(0x0489, 0xe036), .driver_info = BTUSB_ATH3012 },
 
 	/* Broadcom BCM2035 */
 	{ USB_DEVICE(0x0a5c, 0x2035), .driver_info = BTUSB_WRONG_SCO_MTU },
drivers/cpufreq/powernow-k8.c +34 -29

114 lines not on this page · raw message

drivers/dma/at_hdmac.c +12 -1
index 7292aa8..4058430 100644
@@ -662,7 +662,7 @@ atc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
 			flags);
 
 	if (unlikely(!atslave || !sg_len)) {
-		dev_dbg(chan2dev(chan), "prep_dma_memcpy: length is zero!\n");
+		dev_dbg(chan2dev(chan), "prep_slave_sg: sg length is zero!\n");
 		return NULL;
 	}
 
@@ -690,6 +690,11 @@ atc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
 
 			mem = sg_dma_address(sg);
 			len = sg_dma_len(sg);
+			if (unlikely(!len)) {
+				dev_dbg(chan2dev(chan),
+					"prep_slave_sg: sg(%d) data length is zero\n", i);
+				goto err;
+			}
 			mem_width = 2;
 			if (unlikely(mem & 3 || len & 3))
 				mem_width = 0;
@@ -725,6 +730,11 @@ atc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
 
 			mem = sg_dma_address(sg);
 			len = sg_dma_len(sg);
+			if (unlikely(!len)) {
+				dev_dbg(chan2dev(chan),
+					"prep_slave_sg: sg(%d) data length is zero\n", i);
+				goto err;
+			}
 			mem_width = 2;
 			if (unlikely(mem & 3 || len & 3))
 				mem_width = 0;
@@ -758,6 +768,7 @@ atc_prep_slave_sg(struct dma_chan *chan, struct scatterlist *sgl,
 
 err_desc_get:
 	dev_err(chan2dev(chan), "not enough descriptors available\n");
+err:
 	atc_desc_put(atchan, first);
 	return NULL;
 }
drivers/dma/pl330.c +14 -7
index e4feba6..f5843bc 100644
@@ -1567,17 +1567,19 @@ static int pl330_submit_req(void *ch_id, struct pl330_req *r)
 		goto xfer_exit;
 	}
 
-	/* Prefer Secure Channel */
-	if (!_manager_ns(thrd))
-		r->cfg->nonsecure = 0;
-	else
-		r->cfg->nonsecure = 1;
 
 	/* Use last settings, if not provided */
-	if (r->cfg)
+	if (r->cfg) {
+		/* Prefer Secure Channel */
+		if (!_manager_ns(thrd))
+			r->cfg->nonsecure = 0;
+		else
+			r->cfg->nonsecure = 1;
+
 		ccr = _prepare_ccr(r->cfg);
-	else
+	} else {
 		ccr = readl(regs + CC(thrd->id));
+	}
 
 	/* If this req doesn't have valid xfer settings */
 	if (!_is_valid(ccr)) {
@@ -2928,6 +2930,11 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id)
 		num_chan = max_t(int, pi->pcfg.num_peri, pi->pcfg.num_chan);
 
 	pdmac->peripherals = kzalloc(num_chan * sizeof(*pch), GFP_KERNEL);
+	if (!pdmac->peripherals) {
+		ret = -ENOMEM;
+		dev_err(&adev->dev, "unable to allocate pdmac->peripherals\n");
+		goto probe_err5;
+	}
 
 	for (i = 0; i < num_chan; i++) {
 		pch = &pdmac->peripherals[i];
drivers/gpio/gpio-lpc32xx.c +5 -0
index c2199be..6cee3a6 100644
@@ -307,6 +307,7 @@ static int lpc32xx_gpio_dir_output_p012(struct gpio_chip *chip, unsigned pin,
 {
 	struct lpc32xx_gpio_chip *group = to_lpc32xx_gpio(chip);
 
+	__set_gpio_level_p012(group, pin, value);
 	__set_gpio_dir_p012(group, pin, 0);
 
 	return 0;
@@ -317,6 +318,7 @@ static int lpc32xx_gpio_dir_output_p3(struct gpio_chip *chip, unsigned pin,
 {
 	struct lpc32xx_gpio_chip *group = to_lpc32xx_gpio(chip);
 
+	__set_gpio_level_p3(group, pin, value);
 	__set_gpio_dir_p3(group, pin, 0);
 
 	return 0;
@@ -325,6 +327,9 @@ static int lpc32xx_gpio_dir_output_p3(struct gpio_chip *chip, unsigned pin,
 static int lpc32xx_gpio_dir_out_always(struct gpio_chip *chip, unsigned pin,
 	int value)
 {
+	struct lpc32xx_gpio_chip *group = to_lpc32xx_gpio(chip);
+
+	__set_gpo_level_p3(group, pin, value);
 	return 0;
 }
 
drivers/gpu/drm/drm_crtc.c +1 -1
index 08a7aa7..6fbfc24 100644
@@ -1981,7 +1981,7 @@ int drm_mode_cursor_ioctl(struct drm_device *dev,
 	if (!drm_core_check_feature(dev, DRIVER_MODESET))
 		return -EINVAL;
 
-	if (!req->flags)
+	if (!req->flags || (~DRM_MODE_CURSOR_FLAGS & req->flags))
 		return -EINVAL;
 
 	mutex_lock(&dev->mode_config.mutex);
drivers/gpu/drm/drm_edid.c +3 -0
index a8743c3..b7ee230 100644
@@ -87,6 +87,9 @@ static struct edid_quirk {
 	int product_id;
 	u32 quirks;
 } edid_quirk_list[] = {
+	/* ASUS VW222S */
+	{ "ACI", 0x22a2, EDID_QUIRK_FORCE_REDUCED_BLANKING },
+
 	/* Acer AL1706 */
 	{ "ACR", 44358, EDID_QUIRK_PREFER_LARGE_60 },
 	/* Acer F51 */
drivers/gpu/drm/gma500/oaktrail_device.c +2 -0
index 0f9b7db..cf49ba5 100644
@@ -476,6 +476,7 @@ static const struct psb_offset oaktrail_regmap[2] = {
 		.pos = DSPAPOS,
 		.surf = DSPASURF,
 		.addr = MRST_DSPABASE,
+		.base = MRST_DSPABASE,
 		.status = PIPEASTAT,
 		.linoff = DSPALINOFF,
 		.tileoff = DSPATILEOFF,
@@ -499,6 +500,7 @@ static const struct psb_offset oaktrail_regmap[2] = {
 		.pos = DSPBPOS,
 		.surf = DSPBSURF,
 		.addr = DSPBBASE,
+		.base = DSPBBASE,
 		.status = PIPEBSTAT,
 		.linoff = DSPBLINOFF,
 		.tileoff = DSPBTILEOFF,
drivers/gpu/drm/i915/i915_gem.c +2 -1
index 288d7b8..35926ad 100644
@@ -3044,7 +3044,8 @@ i915_gem_object_pin(struct drm_i915_gem_object *obj,
 {
 	int ret;
 
-	BUG_ON(obj->pin_count == DRM_I915_GEM_OBJECT_MAX_PIN_COUNT);
+	if (WARN_ON(obj->pin_count == DRM_I915_GEM_OBJECT_MAX_PIN_COUNT))
+		return -EBUSY;
 
 	if (obj->gtt_space != NULL) {
 		if ((alignment && obj->gtt_offset & (alignment - 1)) ||
drivers/gpu/drm/i915/i915_irq.c +0 -3
index ed3224c..acc91b1 100644
@@ -2626,9 +2626,6 @@ void intel_irq_init(struct drm_device *dev)
 			dev->driver->irq_handler = i8xx_irq_handler;
 			dev->driver->irq_uninstall = i8xx_irq_uninstall;
 		} else if (INTEL_INFO(dev)->gen == 3) {
-			/* IIR "flip pending" means done if this bit is set */
-			I915_WRITE(ECOSKPD, _MASKED_BIT_DISABLE(ECO_FLIP_DONE));
-
 			dev->driver->irq_preinstall = i915_irq_preinstall;
 			dev->driver->irq_postinstall = i915_irq_postinstall;
 			dev->driver->irq_uninstall = i915_irq_uninstall;
drivers/gpu/drm/i915/intel_crt.c +33 -3
index 75a70c4..1f0741f 100644
@@ -284,6 +284,36 @@ static bool intel_crt_detect_hotplug(struct drm_connector *connector)
 	return ret;
 }
 
+static struct edid *intel_crt_get_edid(struct drm_connector *connector,
+				struct i2c_adapter *i2c)
+{
+	struct edid *edid;
+
+	edid = drm_get_edid(connector, i2c);
+
+	if (!edid && !intel_gmbus_is_forced_bit(i2c)) {
+		DRM_DEBUG_KMS("CRT GMBUS EDID read failed, retry using GPIO bit-banging\n");
+		intel_gmbus_force_bit(i2c, true);
+		edid = drm_get_edid(connector, i2c);
+		intel_gmbus_force_bit(i2c, false);
+	}
+
+	return edid;
+}
+
+/* local version of intel_ddc_get_modes() to use intel_crt_get_edid() */
+static int intel_crt_ddc_get_modes(struct drm_connector *connector,
+				struct i2c_adapter *adapter)
+{
+	struct edid *edid;
+
+	edid = intel_crt_get_edid(connector, adapter);
+	if (!edid)
+		return 0;
+
+	return intel_connector_update_modes(connector, edid);
+}
+
 static bool intel_crt_detect_ddc(struct drm_connector *connector)
 {
 	struct intel_crt *crt = intel_attached_crt(connector);
@@ -299,7 +329,7 @@ static bool intel_crt_detect_ddc(struct drm_connector *connector)
 		struct i2c_adapter *i2c;
 
 		i2c = intel_gmbus_get_adapter(dev_priv, dev_priv->crt_ddc_pin);
-		edid = drm_get_edid(connector, i2c);
+		edid = intel_crt_get_edid(connector, i2c);
 		/*
 		 * This may be a DVI-I connector with a shared DDC
 		 * link between analog and digital outputs, so we
@@ -498,13 +528,13 @@ static int intel_crt_get_modes(struct drm_connector *connector)
 	struct i2c_adapter *i2c;
 
 	i2c = intel_gmbus_get_adapter(dev_priv, dev_priv->crt_ddc_pin);
-	ret = intel_ddc_get_modes(connector, i2c);
+	ret = intel_crt_ddc_get_modes(connector, i2c);
 	if (ret || !IS_G4X(dev))
 		return ret;
 
 	/* Try to probe digital port for output in DVI-I -> VGA mode. */
 	i2c = intel_gmbus_get_adapter(dev_priv, GMBUS_PORT_DPB);
-	return intel_ddc_get_modes(connector, i2c);
+	return intel_crt_ddc_get_modes(connector, i2c);
 }
 
 static int intel_crt_set_property(struct drm_connector *connector,
drivers/gpu/drm/i915/intel_display.c +12 -12
index 8a11131..2f22bea 100644
@@ -1238,7 +1238,7 @@ static void assert_pch_hdmi_disabled(struct drm_i915_private *dev_priv,
 				     enum pipe pipe, int reg)
 {
 	u32 val = I915_READ(reg);
-	WARN(hdmi_pipe_enabled(dev_priv, val, pipe),
+	WARN(hdmi_pipe_enabled(dev_priv, pipe, val),
 	     "PCH HDMI (0x%08x) enabled on transcoder %c, should be disabled\n",
 	     reg, pipe_name(pipe));
 }
@@ -1255,13 +1255,13 @@ static void assert_pch_ports_disabled(struct drm_i915_private *dev_priv,
 
 	reg = PCH_ADPA;
 	val = I915_READ(reg);
-	WARN(adpa_pipe_enabled(dev_priv, val, pipe),
+	WARN(adpa_pipe_enabled(dev_priv, pipe, val),
 	     "PCH VGA enabled on transcoder %c, should be disabled\n",
 	     pipe_name(pipe));
 
 	reg = PCH_LVDS;
 	val = I915_READ(reg);
-	WARN(lvds_pipe_enabled(dev_priv, val, pipe),
+	WARN(lvds_pipe_enabled(dev_priv, pipe, val),
 	     "PCH LVDS enabled on transcoder %c, should be disabled\n",
 	     pipe_name(pipe));
 
@@ -1723,7 +1723,7 @@ static void disable_pch_hdmi(struct drm_i915_private *dev_priv,
 			     enum pipe pipe, int reg)
 {
 	u32 val = I915_READ(reg);
-	if (hdmi_pipe_enabled(dev_priv, val, pipe)) {
+	if (hdmi_pipe_enabled(dev_priv, pipe, val)) {
 		DRM_DEBUG_KMS("Disabling pch HDMI %x on pipe %d\n",
 			      reg, pipe);
 		I915_WRITE(reg, val & ~PORT_ENABLE);
@@ -1745,12 +1745,12 @@ static void intel_disable_pch_ports(struct drm_i915_private *dev_priv,
 
 	reg = PCH_ADPA;
 	val = I915_READ(reg);
-	if (adpa_pipe_enabled(dev_priv, val, pipe))
+	if (adpa_pipe_enabled(dev_priv, pipe, val))
 		I915_WRITE(reg, val & ~ADPA_DAC_ENABLE);
 
 	reg = PCH_LVDS;
 	val = I915_READ(reg);
-	if (lvds_pipe_enabled(dev_priv, val, pipe)) {
+	if (lvds_pipe_enabled(dev_priv, pipe, val)) {
 		DRM_DEBUG_KMS("disable lvds on pipe %d val 0x%08x\n", pipe, val);
 		I915_WRITE(reg, val & ~LVDS_PORT_EN);
 		POSTING_READ(reg);
@@ -3926,12 +3926,6 @@ static void i8xx_update_pll(struct drm_crtc *crtc,
 	POSTING_READ(DPLL(pipe));
 	udelay(150);
 
-	I915_WRITE(DPLL(pipe), dpll);
-
-	/* Wait for the clocks to stabilize. */
-	POSTING_READ(DPLL(pipe));
-	udelay(150);
-
 	/* The LVDS pin pair needs to be on before the DPLLs are enabled.
 	 * This is an exception to the general rule that mode_set doesn't turn
 	 * things on.
@@ -3939,6 +3933,12 @@ static void i8xx_update_pll(struct drm_crtc *crtc,
 	if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS))
 		intel_update_lvds(crtc, clock, adjusted_mode);
 
+	I915_WRITE(DPLL(pipe), dpll);
+
+	/* Wait for the clocks to stabilize. */
+	POSTING_READ(DPLL(pipe));
+	udelay(150);
+
 	/* The pixel multiplier can only be updated once the
 	 * DPLL is enabled and the clocks are stable.
 	 *
drivers/gpu/drm/i915/intel_drv.h +2 -0
index 3e09188..9040191 100644
@@ -334,6 +334,8 @@ struct intel_fbc_work {
 	int interval;
 };
 
+int intel_connector_update_modes(struct drm_connector *connector,
+				struct edid *edid);
 int intel_ddc_get_modes(struct drm_connector *c, struct i2c_adapter *adapter);
 extern bool intel_ddc_probe(struct intel_encoder *intel_encoder, int ddc_bus);
 
drivers/gpu/drm/i915/intel_hdmi.c +1 -1
index 2ead3bf..bc1f0f2 100644
@@ -400,7 +400,7 @@ static void intel_hdmi_dpms(struct drm_encoder *encoder, int mode)
 	u32 temp;
 	u32 enable_bits = SDVO_ENABLE;
 
-	if (intel_hdmi->has_audio)
+	if (intel_hdmi->has_audio || mode != DRM_MODE_DPMS_ON)
 		enable_bits |= SDVO_AUDIO_ENABLE;
 
 	temp = I915_READ(intel_hdmi->sdvox_reg);
drivers/gpu/drm/i915/intel_modes.c +22 -9
index d67ec3a..e019146 100644
@@ -61,6 +61,25 @@ bool intel_ddc_probe(struct intel_encoder *intel_encoder, int ddc_bus)
 }
 
 /**
+ * intel_connector_update_modes - update connector from edid
+ * @connector: DRM connector device to use
+ * @edid: previously read EDID information
+ */
+int intel_connector_update_modes(struct drm_connector *connector,
+				struct edid *edid)
+{
+	int ret;
+
+	drm_mode_connector_update_edid_property(connector, edid);
+	ret = drm_add_edid_modes(connector, edid);
+	drm_edid_to_eld(connector, edid);
+	connector->display_info.raw_edid = NULL;
+	kfree(edid);
+
+	return ret;
+}
+
+/**
  * intel_ddc_get_modes - get modelist from monitor
  * @connector: DRM connector device to use
  * @adapter: i2c adapter
@@ -71,18 +90,12 @@ int intel_ddc_get_modes(struct drm_connector *connector,
 			struct i2c_adapter *adapter)
 {
 	struct edid *edid;
-	int ret = 0;
 
 	edid = drm_get_edid(connector, adapter);
-	if (edid) {
-		drm_mode_connector_update_edid_property(connector, edid);
-		ret = drm_add_edid_modes(connector, edid);
-		drm_edid_to_eld(connector, edid);
-		connector->display_info.raw_edid = NULL;
-		kfree(edid);
-	}
+	if (!edid)
+		return 0;
 
-	return ret;
+	return intel_connector_update_modes(connector, edid);
 }
 
 static const struct drm_prop_enum_list force_audio_names[] = {
drivers/gpu/drm/i915/intel_pm.c +7 -4
index d0ce2a5..a48c391 100644
@@ -2431,10 +2431,10 @@ void gen6_enable_rps(struct drm_i915_private *dev_priv)
 	I915_WRITE(GEN6_RP_INTERRUPT_LIMITS,
 		   dev_priv->max_delay << 24 |
 		   dev_priv->min_delay << 16);
-	I915_WRITE(GEN6_RP_UP_THRESHOLD, 10000);
-	I915_WRITE(GEN6_RP_DOWN_THRESHOLD, 1000000);
-	I915_WRITE(GEN6_RP_UP_EI, 100000);
-	I915_WRITE(GEN6_RP_DOWN_EI, 5000000);
+	I915_WRITE(GEN6_RP_UP_THRESHOLD, 59400);
+	I915_WRITE(GEN6_RP_DOWN_THRESHOLD, 245000);
+	I915_WRITE(GEN6_RP_UP_EI, 66000);
+	I915_WRITE(GEN6_RP_DOWN_EI, 350000);
 	I915_WRITE(GEN6_RP_IDLE_HYSTERSIS, 10);
 	I915_WRITE(GEN6_RP_CONTROL,
 		   GEN6_RP_MEDIA_TURBO |
@@ -3528,6 +3528,9 @@ static void gen3_init_clock_gating(struct drm_device *dev)
 
 	if (IS_PINEVIEW(dev))
 		I915_WRITE(ECOSKPD, _MASKED_BIT_ENABLE(ECO_GATING_CX_ONLY));
+
+	/* IIR "flip pending" means done if this bit is set */
+	I915_WRITE(ECOSKPD, _MASKED_BIT_DISABLE(ECO_FLIP_DONE));
 }
 
 static void i85x_init_clock_gating(struct drm_device *dev)
drivers/gpu/drm/i915/intel_sdvo.c +10 -13
index b6a9d45..74d47a3 100644
@@ -2552,25 +2552,12 @@ bool intel_sdvo_init(struct drm_device *dev, uint32_t sdvo_reg, bool is_sdvob)
 		}
 	}
 
-	if (intel_sdvo->is_sdvob)
-		dev_priv->hotplug_supported_mask |= SDVOB_HOTPLUG_INT_STATUS;
-	else
-		dev_priv->hotplug_supported_mask |= SDVOC_HOTPLUG_INT_STATUS;
-
 	drm_encoder_helper_add(&intel_encoder->base, &intel_sdvo_helper_funcs);
 
 	/* In default case sdvo lvds is false */
 	if (!intel_sdvo_get_capabilities(intel_sdvo, &intel_sdvo->caps))
 		goto err;
 
-	/* Set up hotplug command - note paranoia about contents of reply.
-	 * We assume that the hardware is in a sane state, and only touch
-	 * the bits we think we understand.
-	 */
-	intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_ACTIVE_HOT_PLUG,
-			     &intel_sdvo->hotplug_active, 2);
-	intel_sdvo->hotplug_active[0] &= ~0x3;
-
 	if (intel_sdvo_output_setup(intel_sdvo,
 				    intel_sdvo->caps.output_flags) != true) {
 		DRM_DEBUG_KMS("SDVO output failed to setup on %s\n",
@@ -2578,6 +2565,16 @@ bool intel_sdvo_init(struct drm_device *dev, uint32_t sdvo_reg, bool is_sdvob)
 		goto err;
 	}
 
+	/* Only enable the hotplug irq if we need it, to work around noisy
+	 * hotplug lines.
+	 */
+	if (intel_sdvo->hotplug_active[0]) {
+		if (intel_sdvo->is_sdvob)
+			dev_priv->hotplug_supported_mask |= SDVOB_HOTPLUG_INT_STATUS;
+		else
+			dev_priv->hotplug_supported_mask |= SDVOC_HOTPLUG_INT_STATUS;
+	}
+
 	intel_sdvo_select_ddc_bus(dev_priv, intel_sdvo, sdvo_reg);
 
 	/* Set the input timing to the screen. Assume always input 0. */
drivers/gpu/drm/nouveau/nouveau_display.c +1 -1
index 69688ef..7e16dc5 100644
@@ -598,7 +598,7 @@ nouveau_display_dumb_create(struct drm_file *file_priv, struct drm_device *dev,
 	args->size = args->pitch * args->height;
 	args->size = roundup(args->size, PAGE_SIZE);
 
-	ret = nouveau_gem_new(dev, args->size, 0, TTM_PL_FLAG_VRAM, 0, 0, &bo);
+	ret = nouveau_gem_new(dev, args->size, 0, NOUVEAU_GEM_DOMAIN_VRAM, 0, 0, &bo);
 	if (ret)
 		return ret;
 
drivers/gpu/drm/nouveau/nouveau_state.c +4 -2
index 19706f0..22a90a0 100644
@@ -737,9 +737,11 @@ nouveau_card_init(struct drm_device *dev)
 			}
 			break;
 		case NV_C0:
-			nvc0_copy_create(dev, 1);
+			if (!(nv_rd32(dev, 0x022500) & 0x00000200))
+				nvc0_copy_create(dev, 1);
 		case NV_D0:
-			nvc0_copy_create(dev, 0);
+			if (!(nv_rd32(dev, 0x022500) & 0x00000100))
+				nvc0_copy_create(dev, 0);
 			break;
 		default:
 			break;
drivers/gpu/drm/nouveau/nv84_fifo.c +9 -0
index cc82d79..c564c5e 100644
@@ -117,17 +117,22 @@ nv84_fifo_context_del(struct nouveau_channel *chan, int engine)
 	struct drm_device *dev = chan->dev;
 	struct drm_nouveau_private *dev_priv = dev->dev_private;
 	unsigned long flags;
+	u32 save;
 
 	/* remove channel from playlist, will context switch if active */
 	spin_lock_irqsave(&dev_priv->context_switch_lock, flags);
 	nv_mask(dev, 0x002600 + (chan->id * 4), 0x80000000, 0x00000000);
 	nv50_fifo_playlist_update(dev);
 
+	save = nv_mask(dev, 0x002520, 0x0000003f, 0x15);
+
 	/* tell any engines on this channel to unload their contexts */
 	nv_wr32(dev, 0x0032fc, chan->ramin->vinst >> 12);
 	if (!nv_wait_ne(dev, 0x0032fc, 0xffffffff, 0xffffffff))
 		NV_INFO(dev, "PFIFO: channel %d unload timeout\n", chan->id);
 
+	nv_wr32(dev, 0x002520, save);
+
 	nv_wr32(dev, 0x002600 + (chan->id * 4), 0x00000000);
 	spin_unlock_irqrestore(&dev_priv->context_switch_lock, flags);
 
@@ -184,10 +189,13 @@ nv84_fifo_fini(struct drm_device *dev, int engine, bool suspend)
 	struct drm_nouveau_private *dev_priv = dev->dev_private;
 	struct nv84_fifo_priv *priv = nv_engine(dev, engine);
 	int i;
+	u32 save;
 
 	/* set playlist length to zero, fifo will unload context */
 	nv_wr32(dev, 0x0032ec, 0);
 
+	save = nv_mask(dev, 0x002520, 0x0000003f, 0x15);
+
 	/* tell all connected engines to unload their contexts */
 	for (i = 0; i < priv->base.channels; i++) {
 		struct nouveau_channel *chan = dev_priv->channels.ptr[i];
@@ -199,6 +207,7 @@ nv84_fifo_fini(struct drm_device *dev, int engine, bool suspend)
 		}
 	}
 
+	nv_wr32(dev, 0x002520, save);
 	nv_wr32(dev, 0x002140, 0);
 	return 0;
 }
drivers/gpu/drm/radeon/atombios_crtc.c +37 -24

120 lines not on this page · raw message

drivers/gpu/drm/radeon/atombios_encoders.c +73 -67

210 lines not on this page · raw message

drivers/gpu/drm/radeon/radeon.h +1 -15
index fefcca5..5c8a0bf 100644
@@ -143,21 +143,6 @@ struct radeon_device;
 /*
  * BIOS.
  */
-#define ATRM_BIOS_PAGE 4096
-
-#if defined(CONFIG_VGA_SWITCHEROO)
-bool radeon_atrm_supported(struct pci_dev *pdev);
-int radeon_atrm_get_bios_chunk(uint8_t *bios, int offset, int len);
-#else
-static inline bool radeon_atrm_supported(struct pci_dev *pdev)
-{
-	return false;
-}
-
-static inline int radeon_atrm_get_bios_chunk(uint8_t *bios, int offset, int len){
-	return -EINVAL;
-}
-#endif
 bool radeon_get_bios(struct radeon_device *rdev);
 
 
@@ -323,6 +308,7 @@ struct radeon_bo_va {
 	uint64_t			soffset;
 	uint64_t			eoffset;
 	uint32_t			flags;
+	struct radeon_fence		*fence;
 	bool				valid;
 };
 
drivers/gpu/drm/radeon/radeon_atombios.c +1 -1
index b1e3820..5e30e12 100644
@@ -452,7 +452,7 @@ static bool radeon_atom_apply_quirks(struct drm_device *dev,
 	}
 
 	/* Fujitsu D3003-S2 board lists DVI-I as DVI-D and VGA */
-	if ((dev->pdev->device == 0x9802) &&
+	if (((dev->pdev->device == 0x9802) || (dev->pdev->device == 0x9806)) &&
 	    (dev->pdev->subsystem_vendor == 0x1734) &&
 	    (dev->pdev->subsystem_device == 0x11bd)) {
 		if (*connector_type == DRM_MODE_CONNECTOR_VGA) {
drivers/gpu/drm/radeon/radeon_atpx_handler.c +1 -55

78 lines not on this page · raw message

drivers/gpu/drm/radeon/radeon_bios.c +134 -4

183 lines not on this page · raw message

drivers/gpu/drm/radeon/radeon_cs.c +27 -3
index 17238f4..c84eb1a 100644
@@ -294,6 +294,28 @@ int radeon_cs_parser_init(struct radeon_cs_parser *p, void *data)
 	return 0;
 }
 
+static void radeon_bo_vm_fence_va(struct radeon_cs_parser *parser,
+				  struct radeon_fence *fence)
+{
+	struct radeon_fpriv *fpriv = parser->filp->driver_priv;
+	struct radeon_vm *vm = &fpriv->vm;
+	struct radeon_bo_list *lobj;
+
+	if (parser->chunk_ib_idx == -1)
+		return;
+	if ((parser->cs_flags & RADEON_CS_USE_VM) == 0)
+		return;
+
+	list_for_each_entry(lobj, &parser->validated, tv.head) {
+		struct radeon_bo_va *bo_va;
+		struct radeon_bo *rbo = lobj->bo;
+
+		bo_va = radeon_bo_va(rbo, vm);
+		radeon_fence_unref(&bo_va->fence);
+		bo_va->fence = radeon_fence_ref(fence);
+	}
+}
+
 /**
  * cs_parser_fini() - clean parser states
  * @parser:	parser structure holding parsing context.
@@ -306,11 +328,14 @@ static void radeon_cs_parser_fini(struct radeon_cs_parser *parser, int error)
 {
 	unsigned i;
 
-	if (!error)
+	if (!error) {
+		/* fence all bo va before ttm_eu_fence_buffer_objects so bo are still reserved */
+		radeon_bo_vm_fence_va(parser, parser->ib.fence);
 		ttm_eu_fence_buffer_objects(&parser->validated,
 					    parser->ib.fence);
-	else
+	} else {
 		ttm_eu_backoff_reservation(&parser->validated);
+	}
 
 	if (parser->relocs != NULL) {
 		for (i = 0; i < parser->nrelocs; i++) {
@@ -407,7 +432,6 @@ static int radeon_cs_ib_vm_chunk(struct radeon_device *rdev,
 
 	if (parser->chunk_ib_idx == -1)
 		return 0;
-
 	if ((parser->cs_flags & RADEON_CS_USE_VM) == 0)
 		return 0;
 
drivers/gpu/drm/radeon/radeon_device.c +1 -1
index 066c98b..8867400 100644
@@ -774,7 +774,7 @@ int radeon_device_init(struct radeon_device *rdev,
 	if (rdev->flags & RADEON_IS_AGP)
 		rdev->need_dma32 = true;
 	if ((rdev->flags & RADEON_IS_PCI) &&
-	    (rdev->family < CHIP_RS400))
+	    (rdev->family <= CHIP_RS740))
 		rdev->need_dma32 = true;
 
 	dma_bits = rdev->need_dma32 ? 32 : 40;
drivers/gpu/drm/radeon/radeon_fence.c +5 -3
index 11f5f40..71298ce 100644
@@ -75,7 +75,7 @@ int radeon_fence_emit(struct radeon_device *rdev, struct radeon_fence *fence)
 
 void radeon_fence_process(struct radeon_device *rdev, int ring)
 {
-	uint64_t seq, last_seq;
+	uint64_t seq, last_seq, last_emitted;
 	unsigned count_loop = 0;
 	bool wake = false;
 
@@ -102,13 +102,15 @@ void radeon_fence_process(struct radeon_device *rdev, int ring)
 	 */
 	last_seq = atomic64_read(&rdev->fence_drv[ring].last_seq);
 	do {
+		last_emitted = rdev->fence_drv[ring].seq;
 		seq = radeon_fence_read(rdev, ring);
 		seq |= last_seq & 0xffffffff00000000LL;
 		if (seq < last_seq) {
-			seq += 0x100000000LL;
+			seq &= 0xffffffff;
+			seq |= last_emitted & 0xffffffff00000000LL;
 		}
 
-		if (seq == last_seq) {
+		if (seq <= last_seq || seq > last_emitted) {
 			break;
 		}
 		/* If we loop over we don't want to return without
drivers/gpu/drm/radeon/radeon_gart.c +22 -2
index 84b648a..f651f22 100644
@@ -564,7 +564,7 @@ int radeon_vm_bo_update_pte(struct radeon_device *rdev,
 		return -EINVAL;
 	}
 
-	if (bo_va->valid)
+	if (bo_va->valid && mem)
 		return 0;
 
 	ngpu_pages = radeon_bo_ngpu_pages(bo);
@@ -597,11 +597,27 @@ int radeon_vm_bo_rmv(struct radeon_device *rdev,
 		     struct radeon_bo *bo)
 {
 	struct radeon_bo_va *bo_va;
+	int r;
 
 	bo_va = radeon_bo_va(bo, vm);
 	if (bo_va == NULL)
 		return 0;
 
+	/* wait for va use to end */
+	while (bo_va->fence) {
+		r = radeon_fence_wait(bo_va->fence, false);
+		if (r) {
+			DRM_ERROR("error while waiting for fence: %d\n", r);
+		}
+		if (r == -EDEADLK) {
+			r = radeon_gpu_reset(rdev);
+			if (!r)
+				continue;
+		}
+		break;
+	}
+	radeon_fence_unref(&bo_va->fence);
+
 	radeon_mutex_lock(&rdev->cs_mutex);
 	mutex_lock(&vm->mutex);
 	radeon_vm_bo_update_pte(rdev, vm, bo, NULL);
@@ -661,12 +677,15 @@ void radeon_vm_fini(struct radeon_device *rdev, struct radeon_vm *vm)
 	radeon_vm_unbind_locked(rdev, vm);
 	radeon_mutex_unlock(&rdev->cs_mutex);
 
-	/* remove all bo */
+	/* remove all bo at this point non are busy any more because unbind
+	 * waited for the last vm fence to signal
+	 */
 	r = radeon_bo_reserve(rdev->ring_tmp_bo.bo, false);
 	if (!r) {
 		bo_va = radeon_bo_va(rdev->ring_tmp_bo.bo, vm);
 		list_del_init(&bo_va->bo_list);
 		list_del_init(&bo_va->vm_list);
+		radeon_fence_unref(&bo_va->fence);
 		radeon_bo_unreserve(rdev->ring_tmp_bo.bo);
 		kfree(bo_va);
 	}
@@ -678,6 +697,7 @@ void radeon_vm_fini(struct radeon_device *rdev, struct radeon_vm *vm)
 		r = radeon_bo_reserve(bo_va->bo, false);
 		if (!r) {
 			list_del_init(&bo_va->bo_list);
+			radeon_fence_unref(&bo_va->fence);
 			radeon_bo_unreserve(bo_va->bo);
 			kfree(bo_va);
 		}
drivers/gpu/drm/radeon/radeon_gem.c +2 -11
index 21ec9f5..12207d9 100644
@@ -134,25 +134,16 @@ void radeon_gem_object_close(struct drm_gem_object *obj,
 	struct radeon_device *rdev = rbo->rdev;
 	struct radeon_fpriv *fpriv = file_priv->driver_priv;
 	struct radeon_vm *vm = &fpriv->vm;
-	struct radeon_bo_va *bo_va, *tmp;
 
 	if (rdev->family < CHIP_CAYMAN) {
 		return;
 	}
 
 	if (radeon_bo_reserve(rbo, false)) {
+		dev_err(rdev->dev, "leaking bo va because we fail to reserve bo\n");
 		return;
 	}
-	list_for_each_entry_safe(bo_va, tmp, &rbo->va, bo_list) {
-		if (bo_va->vm == vm) {
-			/* remove from this vm address space */
-			mutex_lock(&vm->mutex);
-			list_del(&bo_va->vm_list);
-			mutex_unlock(&vm->mutex);
-			list_del(&bo_va->bo_list);
-			kfree(bo_va);
-		}
-	}
+	radeon_vm_bo_rmv(rdev, vm, rbo);
 	radeon_bo_unreserve(rbo);
 }
 
drivers/gpu/drm/radeon/radeon_object.c +1 -5
index 830f1a7..1b2289f 100644
@@ -52,11 +52,7 @@ void radeon_bo_clear_va(struct radeon_bo *bo)
 
 	list_for_each_entry_safe(bo_va, tmp, &bo->va, bo_list) {
 		/* remove from all vm address space */
-		mutex_lock(&bo_va->vm->mutex);
-		list_del(&bo_va->vm_list);
-		mutex_unlock(&bo_va->vm->mutex);
-		list_del(&bo_va->bo_list);
-		kfree(bo_va);
+		radeon_vm_bo_rmv(bo->rdev, bo_va->vm, bo);
 	}
 }
 
drivers/gpu/drm/radeon/radeon_ring.c +1 -0
index 983658c..7843b36 100644
@@ -394,6 +394,7 @@ int radeon_ring_init(struct radeon_device *rdev, struct radeon_ring *ring, unsig
 	if (radeon_debugfs_ring_init(rdev, ring)) {
 		DRM_ERROR("Failed to register debugfs file for rings !\n");
 	}
+	radeon_ring_lockup_update(ring);
 	return 0;
 }
 
drivers/gpu/drm/udl/udl_connector.c +7 -0
index ba055e9..8d9dc44 100644
@@ -69,6 +69,13 @@ static int udl_get_modes(struct drm_connector *connector)
 static int udl_mode_valid(struct drm_connector *connector,
 			  struct drm_display_mode *mode)
 {
+	struct udl_device *udl = connector->dev->dev_private;
+	if (!udl->sku_pixel_limit)
+		return 0;
+
+	if (mode->vdisplay * mode->hdisplay > udl->sku_pixel_limit)
+		return MODE_VIRTUAL_Y;
+
 	return 0;
 }
 
drivers/gpu/drm/vmwgfx/vmwgfx_drv.c +5 -0
index 7279b3e..3a4b15a 100644
@@ -1159,6 +1159,11 @@ static struct drm_driver driver = {
 	.open = vmw_driver_open,
 	.preclose = vmw_preclose,
 	.postclose = vmw_postclose,
+
+	.dumb_create = vmw_dumb_create,
+	.dumb_map_offset = vmw_dumb_map_offset,
+	.dumb_destroy = vmw_dumb_destroy,
+
 	.fops = &vmwgfx_driver_fops,
 	.name = VMWGFX_DRIVER_NAME,
 	.desc = VMWGFX_DRIVER_DESC,
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h +10 -0
index d0f2c07..29c984f 100644
@@ -645,6 +645,16 @@ int vmw_kms_readback(struct vmw_private *dev_priv,
 int vmw_kms_update_layout_ioctl(struct drm_device *dev, void *data,
 				struct drm_file *file_priv);
 
+int vmw_dumb_create(struct drm_file *file_priv,
+		    struct drm_device *dev,
+		    struct drm_mode_create_dumb *args);
+
+int vmw_dumb_map_offset(struct drm_file *file_priv,
+			struct drm_device *dev, uint32_t handle,
+			uint64_t *offset);
+int vmw_dumb_destroy(struct drm_file *file_priv,
+		     struct drm_device *dev,
+		     uint32_t handle);
 /**
  * Overlay control - vmwgfx_overlay.c
  */
drivers/gpu/drm/vmwgfx/vmwgfx_fence.c +1 -1
index f2fb8f1..7e07433 100644
@@ -1018,7 +1018,7 @@ int vmw_event_fence_action_create(struct drm_file *file_priv,
 	}
 
 
-	event = kzalloc(sizeof(event->event), GFP_KERNEL);
+	event = kzalloc(sizeof(*event), GFP_KERNEL);
 	if (unlikely(event == NULL)) {
 		DRM_ERROR("Failed to allocate an event.\n");
 		ret = -ENOMEM;
drivers/gpu/drm/vmwgfx/vmwgfx_resource.c +73 -0

76 lines not on this page · raw message

drivers/hid/hid-logitech-dj.c +47 -2

109 lines not on this page · raw message

drivers/hid/hid-logitech-dj.h +1 -0
index fd28a5e..4a40003 100644
@@ -101,6 +101,7 @@ struct dj_receiver_dev {
 	struct work_struct work;
 	struct kfifo notif_fifo;
 	spinlock_t lock;
+	bool querying_devices;
 };
 
 struct dj_device {
drivers/hwmon/ad7314.c +8 -0
index cfec802..f915eb1 100644
@@ -87,10 +87,18 @@ static ssize_t ad7314_show_temperature(struct device *dev,
 	}
 }
 
+static ssize_t ad7314_show_name(struct device *dev,
+				struct device_attribute *devattr, char *buf)
+{
+	return sprintf(buf, "%s\n", to_spi_device(dev)->modalias);
+}
+
+static DEVICE_ATTR(name, S_IRUGO, ad7314_show_name, NULL);
 static SENSOR_DEVICE_ATTR(temp1_input, S_IRUGO,
 			  ad7314_show_temperature, NULL, 0);
 
 static struct attribute *ad7314_attributes[] = {
+	&dev_attr_name.attr,
 	&sensor_dev_attr_temp1_input.dev_attr.attr,
 	NULL,
 };
drivers/hwmon/ads7871.c +9 -0
index e65c6e4..7bf4ce3 100644
@@ -139,6 +139,12 @@ static ssize_t show_voltage(struct device *dev,
 	}
 }
 
+static ssize_t ads7871_show_name(struct device *dev,
+				 struct device_attribute *devattr, char *buf)
+{
+	return sprintf(buf, "%s\n", to_spi_device(dev)->modalias);
+}
+
 static SENSOR_DEVICE_ATTR(in0_input, S_IRUGO, show_voltage, NULL, 0);
 static SENSOR_DEVICE_ATTR(in1_input, S_IRUGO, show_voltage, NULL, 1);
 static SENSOR_DEVICE_ATTR(in2_input, S_IRUGO, show_voltage, NULL, 2);
@@ -148,6 +154,8 @@ static SENSOR_DEVICE_ATTR(in5_input, S_IRUGO, show_voltage, NULL, 5);
 static SENSOR_DEVICE_ATTR(in6_input, S_IRUGO, show_voltage, NULL, 6);
 static SENSOR_DEVICE_ATTR(in7_input, S_IRUGO, show_voltage, NULL, 7);
 
+static DEVICE_ATTR(name, S_IRUGO, ads7871_show_name, NULL);
+
 static struct attribute *ads7871_attributes[] = {
 	&sensor_dev_attr_in0_input.dev_attr.attr,
 	&sensor_dev_attr_in1_input.dev_attr.attr,
@@ -157,6 +165,7 @@ static struct attribute *ads7871_attributes[] = {
 	&sensor_dev_attr_in5_input.dev_attr.attr,
 	&sensor_dev_attr_in6_input.dev_attr.attr,
 	&sensor_dev_attr_in7_input.dev_attr.attr,
+	&dev_attr_name.attr,
 	NULL
 };
 
drivers/hwmon/fam15h_power.c +13 -2
index 6b13f1a..49dadf4 100644
@@ -128,12 +128,12 @@ static bool __devinit fam15h_power_is_internal_node0(struct pci_dev *f4)
  * counter saturations resulting in bogus power readings.
  * We correct this value ourselves to cope with older BIOSes.
  */
-static DEFINE_PCI_DEVICE_TABLE(affected_device) = {
+static const struct pci_device_id affected_device[] = {
 	{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_15H_NB_F4) },
 	{ 0 }
 };
 
-static void __devinit tweak_runavg_range(struct pci_dev *pdev)
+static void tweak_runavg_range(struct pci_dev *pdev)
 {
 	u32 val;
 
@@ -157,6 +157,16 @@ static void __devinit tweak_runavg_range(struct pci_dev *pdev)
 		REG_TDP_RUNNING_AVERAGE, val);
 }
 
+#ifdef CONFIG_PM
+static int fam15h_power_resume(struct pci_dev *pdev)
+{
+	tweak_runavg_range(pdev);
+	return 0;
+}
+#else
+#define fam15h_power_resume NULL
+#endif
+
 static void __devinit fam15h_power_init_data(struct pci_dev *f4,
 					     struct fam15h_power_data *data)
 {
@@ -255,6 +265,7 @@ static struct pci_driver fam15h_power_driver = {
 	.id_table = fam15h_power_id_table,
 	.probe = fam15h_power_probe,
 	.remove = __devexit_p(fam15h_power_remove),
+	.resume = fam15h_power_resume,
 };
 
 module_pci_driver(fam15h_power_driver);
drivers/hwmon/ina2xx.c +9 -21
index 7f3f4a3..6021482 100644
@@ -69,22 +69,6 @@ struct ina2xx_data {
 	u16 regs[INA2XX_MAX_REGISTERS];
 };
 
-int ina2xx_read_word(struct i2c_client *client, int reg)
-{
-	int val = i2c_smbus_read_word_data(client, reg);
-	if (unlikely(val < 0)) {
-		dev_dbg(&client->dev,
-			"Failed to read register: %d\n", reg);
-		return val;
-	}
-	return be16_to_cpu(val);
-}
-
-void ina2xx_write_word(struct i2c_client *client, int reg, int data)
-{
-	i2c_smbus_write_word_data(client, reg, cpu_to_be16(data));
-}
-
 static struct ina2xx_data *ina2xx_update_device(struct device *dev)
 {
 	struct i2c_client *client = to_i2c_client(dev);
@@ -102,7 +86,7 @@ static struct ina2xx_data *ina2xx_update_device(struct device *dev)
 
 		/* Read all registers */
 		for (i = 0; i < data->registers; i++) {
-			int rv = ina2xx_read_word(client, i);
+			int rv = i2c_smbus_read_word_swapped(client, i);
 			if (rv < 0) {
 				ret = ERR_PTR(rv);
 				goto abort;
@@ -279,22 +263,26 @@ static int ina2xx_probe(struct i2c_client *client,
 	switch (data->kind) {
 	case ina219:
 		/* device configuration */
-		ina2xx_write_word(client, INA2XX_CONFIG, INA219_CONFIG_DEFAULT);
+		i2c_smbus_write_word_swapped(client, INA2XX_CONFIG,
+					     INA219_CONFIG_DEFAULT);
 
 		/* set current LSB to 1mA, shunt is in uOhms */
 		/* (equation 13 in datasheet) */
-		ina2xx_write_word(client, INA2XX_CALIBRATION, 40960000 / shunt);
+		i2c_smbus_write_word_swapped(client, INA2XX_CALIBRATION,
+					     40960000 / shunt);
 		dev_info(&client->dev,
 			 "power monitor INA219 (Rshunt = %li uOhm)\n", shunt);
 		data->registers = INA219_REGISTERS;
 		break;
 	case ina226:
 		/* device configuration */
-		ina2xx_write_word(client, INA2XX_CONFIG, INA226_CONFIG_DEFAULT);
+		i2c_smbus_write_word_swapped(client, INA2XX_CONFIG,
+					     INA226_CONFIG_DEFAULT);
 
 		/* set current LSB to 1mA, shunt is in uOhms */
 		/* (equation 1 in datasheet)*/
-		ina2xx_write_word(client, INA2XX_CALIBRATION, 5120000 / shunt);
+		i2c_smbus_write_word_swapped(client, INA2XX_CALIBRATION,
+					     5120000 / shunt);
 		dev_info(&client->dev,
 			 "power monitor INA226 (Rshunt = %li uOhm)\n", shunt);
 		data->registers = INA226_REGISTERS;
drivers/hwmon/twl4030-madc-hwmon.c +5 -4
index 0018c7d..1a174f0 100644
@@ -44,12 +44,13 @@ static ssize_t madc_read(struct device *dev,
 			 struct device_attribute *devattr, char *buf)
 {
 	struct sensor_device_attribute *attr = to_sensor_dev_attr(devattr);
-	struct twl4030_madc_request req;
+	struct twl4030_madc_request req = {
+		.channels = 1 << attr->index,
+		.method = TWL4030_MADC_SW2,
+		.type = TWL4030_MADC_WAIT,
+	};
 	long val;
 
-	req.channels = (1 << attr->index);
-	req.method = TWL4030_MADC_SW2;
-	req.func_cb = NULL;
 	val = twl4030_madc_conversion(&req);
 	if (val < 0)
 		return val;
drivers/i2c/busses/i2c-powermac.c +133 -24

37 lines not on this page · raw message

drivers/input/serio/i8042-x86ia64io.h +6 -0
index 6918773..d6cc77a 100644

Lines of this file are not shown. View the raw message.

drivers/input/tablet/wacom_sys.c +3 -7
index 8b31473..824abc7 100644

Lines of this file are not shown. View the raw message.

drivers/input/tablet/wacom_wac.c +21 -6
index 869e057..05e8cb3 100644

Lines of this file are not shown. View the raw message.

drivers/input/tablet/wacom_wac.h +5 -4
index 78fbd3f..9ae9118 100644

Lines of this file are not shown. View the raw message.

drivers/iommu/intel_irq_remapping.c +13 -5
index 6d34706..55fe60d 100644

Lines of this file are not shown. View the raw message.

drivers/isdn/hardware/mISDN/avmfritz.c +2 -1
index fa6ca47..dceaec8 100644

Lines of this file are not shown. View the raw message.

drivers/isdn/hardware/mISDN/mISDNipac.c +2 -1
index 752e082..ccd7d85 100644

Lines of this file are not shown. View the raw message.

drivers/isdn/hardware/mISDN/mISDNisar.c +2 -1
index be5973d..182ecf0 100644

Lines of this file are not shown. View the raw message.

drivers/isdn/hardware/mISDN/netjet.c +2 -1
index c3e3e76..9bcade5 100644

Lines of this file are not shown. View the raw message.

drivers/isdn/hardware/mISDN/w6692.c +2 -1
index 26a86b8..335fe64 100644

Lines of this file are not shown. View the raw message.

drivers/isdn/isdnloop/isdnloop.c +0 -12
index 5405ec6..baf2686 100644

Lines of this file are not shown. View the raw message.

drivers/isdn/mISDN/hwchannel.c +4 -5
index ef34fd4..2602be2 100644

Lines of this file are not shown. View the raw message.

drivers/md/md.c +11 -4
index d5ab449..6fc0c26 100644

Lines of this file are not shown. View the raw message.

drivers/md/raid10.c +24 -14
index 8da6282..e987da4 100644

Lines of this file are not shown. View the raw message.

drivers/md/raid10.h +1 -1
index 135b1b0..d2effe7 100644

Lines of this file are not shown. View the raw message.

drivers/md/raid5.c +4 -0
index 04348d7..bcd096b 100644

Lines of this file are not shown. View the raw message.

drivers/media/rc/rc-main.c +3 -2
index 6e16b09..cabc19c 100644

Lines of this file are not shown. View the raw message.

drivers/misc/sgi-xp/xpc_uv.c +65 -19

84 lines not on this page · raw message

drivers/mmc/card/block.c +25 -1
index 276d21c..7b66292 100644

Lines of this file are not shown. View the raw message.

drivers/mmc/host/atmel-mci.c +5 -1
index f2c115e..1a69c63 100644

Lines of this file are not shown. View the raw message.

drivers/mmc/host/mxs-mmc.c +7 -7
index 277161d..e1fd2c8 100644

Lines of this file are not shown. View the raw message.

drivers/mmc/host/sdhci-esdhc.h +3 -3
index b97b2f5..d25f9ab 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/janz-ican3.c +1 -3
index 08c893c..e7823dd 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/mcp251x.c +10 -1
index 346785c..9d60742 100644

Lines of this file are not shown. View the raw message.

drivers/net/can/ti_hecc.c +1 -1
index 4accd7e..5ec2700 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/cirrus/cs89x0.c +5 -5
index 845b202..1384469 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/freescale/gianfar.c +1 -1
index ab1d80f..7f0183e 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/freescale/gianfar_ethtool.c +1 -0
index 8a02557..4ca75ee 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/freescale/gianfar_ptp.c +2 -2
index c08e5d4..0daa66b 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/ibm/ibmveth.c +9 -17
index 9010cea..b68d28a 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/sfc/efx.c +6 -0
index b95f2e1..16c4634 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/sfc/efx.h +10 -4
index be8f915..70755c9 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/sfc/ethtool.c +13 -7
index 03ded36..b1287f8 100644

Lines of this file are not shown. View the raw message.

drivers/net/ethernet/sfc/tx.c +19 -0
index 94d0365..305430d 100644

Lines of this file are not shown. View the raw message.

drivers/net/netconsole.c +0 -1
index f9347ea..63ffbdf 100644

Lines of this file are not shown. View the raw message.

drivers/net/ppp/pptp.c +2 -2
index 1c98321..162464f 100644

Lines of this file are not shown. View the raw message.

drivers/net/usb/asix.c +4 -0
index 3ae80ec..ebcb7d4 100644

Lines of this file are not shown. View the raw message.

drivers/net/usb/qmi_wwan.c +58 -0

58 lines not on this page · raw message

drivers/net/usb/usbnet.c +12 -4
index d237b3f..f2716a4 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/brcm80211/brcmfmac/dhd_common.c +16 -10
index 236cb9f..3ae938f 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c +4 -2
index d13ae9c..e360939 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/iwlwifi/iwl-debugfs.c +3 -0
index 7f97dec..5000690 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h +1 -1
index e959207..8215fad 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c +1 -1
index 08517d3..5e18ff9 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/iwlwifi/iwl-trans-pcie.c +17 -14
index 79c6b91..a1fb025 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rt2x00/rt2400pci.c +9 -0
index 5e6b501..d8594a2 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rt2x00/rt2400pci.h +1 -0
index d3a4a68..7564ae9 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rt2x00/rt2500pci.c +9 -0
index 136b849..2223e35 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rt2x00/rt2500usb.c +10 -1
index 669aecd..d6e87c0 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rt2x00/rt2500usb.h +9 -8
index b493306..196bd51 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rt2x00/rt2800pci.c +9 -0
index cad25bf..0f26ffb 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rt2x00/rt2800usb.c +20 -2
index 6cf3365..6b4226b 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rt2x00/rt2x00dev.c +1 -1
index e5404e5..8ac4482 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rt2x00/rt61pci.c +9 -0
index 5fb3a2e..02ba3cf 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rt2x00/rt61pci.h +1 -0
index e3cd6db..8f3da5a 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rt2x00/rt73usb.c +9 -0
index 77ccbbc..ceb1c4f 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rt2x00/rt73usb.h +3 -0
index 9f6b470..df1cc11 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rtlwifi/rtl8192ce/def.h +1 -0
index 04c3aef..2925094 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rtlwifi/rtl8192ce/hw.c +10 -2
index 5c4d9bc..509f661 100644

Lines of this file are not shown. View the raw message.

drivers/net/wireless/rtlwifi/rtl8192ce/sw.c +4 -2
index 3aa927f..7d8f964 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/asus-laptop.c +4 -4
index e38f91b..110c777 100644

Lines of this file are not shown. View the raw message.

drivers/platform/x86/asus-nb-wmi.c +4 -0
index 99a30b5..6de14fd 100644

Lines of this file are not shown. View the raw message.

drivers/rtc/rtc-rs5c348.c +5 -2
index 77074cc..fd5c7af 100644

Lines of this file are not shown. View the raw message.

drivers/rtc/rtc-twl.c +5 -0
index c5d06fe..9277d94 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/bnx2i/bnx2i_hwi.c +3 -0
index 86a12b4..3878e62 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/hpsa.c +2 -1
index 796482b..2b4261c 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/lpfc/Makefile +2 -0
index fe5d396..e2516ba 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/mpt2sas/mpt2sas_base.c +7 -0
index b25757d..9d5a56c 100644

Lines of this file are not shown. View the raw message.

drivers/scsi/virtio_scsi.c +1 -1
index 1b38431..6661610 100644

Lines of this file are not shown. View the raw message.

drivers/staging/android/android_alarm.h +3 -1
index d0cafd6..f2ffd96 100644

Lines of this file are not shown. View the raw message.

drivers/staging/comedi/drivers/amplc_pci224.c +7 -0
index fbf19ca..0def1be 100644

Lines of this file are not shown. View the raw message.

drivers/staging/comedi/drivers/das08.c +2 -2
index 1f31943..83dae6e 100644

Lines of this file are not shown. View the raw message.

drivers/staging/media/lirc/lirc_sir.c +58 -2

60 lines not on this page · raw message

drivers/staging/rtl8712/recv_linux.c +1 -6
index 0e26d5f..495ee12 100644

Lines of this file are not shown. View the raw message.

drivers/staging/speakup/main.c +1 -1
index 92b34e2..40e2488 100644

Lines of this file are not shown. View the raw message.

drivers/staging/vt6656/dpc.c +1 -1
index e4bdf2a..3aa895e 100644

Lines of this file are not shown. View the raw message.

drivers/staging/vt6656/rxtx.c +19 -19
index 9b64b10..fe21868 100644

Lines of this file are not shown. View the raw message.

drivers/staging/zcache/zcache-main.c +3 -4
index 784c796..8d30f5c 100644

Lines of this file are not shown. View the raw message.

drivers/target/target_core_transport.c +20 -38

58 lines not on this page · raw message

drivers/tty/serial/imx.c +15 -15
index 4ef7473..e983331 100644

Lines of this file are not shown. View the raw message.

drivers/tty/serial/pch_uart.c +40 -19

59 lines not on this page · raw message

drivers/usb/chipidea/udc.c +41 -17

58 lines not on this page · raw message

drivers/usb/class/cdc-wdm.c +8 -4
index ee46927..3cc771e 100644

Lines of this file are not shown. View the raw message.

drivers/usb/core/devices.c +1 -1
index d956965..3440812 100644

Lines of this file are not shown. View the raw message.

drivers/usb/core/hcd.c +2 -4
index 190b1ec..6b6891fc 100644

Lines of this file are not shown. View the raw message.

drivers/usb/core/quirks.c +4 -0
index 32d3adc..8b2a9d8 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/core.c +7 -2
index 1040bdb..6dc9d2f 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/ep0.c +0 -1
index 9e8a3dc..127551c 100644

Lines of this file are not shown. View the raw message.

drivers/usb/dwc3/gadget.c +5 -2
index ec70df7..0b24d9d 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/at91_udc.c +1 -5
index 1a4430f..22865dd 100644

Lines of this file are not shown. View the raw message.

drivers/usb/gadget/dummy_hcd.c +37 -4

41 lines not on this page · raw message

drivers/usb/host/ehci-omap.c +1 -163

164 lines not on this page · raw message

drivers/usb/host/ehci-q.c +10 -2
index 4378bf7..d2b0957 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/ohci-at91.c +12 -1
index a665b3e..0bf72f9 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/pci-quirks.c +35 -7

42 lines not on this page · raw message

drivers/usb/host/pci-quirks.h +1 -0
index ef004a5..7f69a39 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci-hub.c +42 -0

42 lines not on this page · raw message

drivers/usb/host/xhci-plat.c +1 -1
index 689bc18..df90fe5 100644

Lines of this file are not shown. View the raw message.

drivers/usb/host/xhci.c +122 -1

123 lines not on this page · raw message

drivers/usb/host/xhci.h +6 -0
index 27497d3..a7760bf 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/ftdi_sio.c +21 -1
index 5620db6..f906b3a 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/ftdi_sio_ids.h +27 -2
index 5dd96ca..41fe582 100644

Lines of this file are not shown. View the raw message.

drivers/usb/serial/option.c +4 -2
index d2c2698..61ab0ed 100644

Lines of this file are not shown. View the raw message.

drivers/video/console/fbcon.c +8 -1
index 2e471c2..88e9204 100644

Lines of this file are not shown. View the raw message.

drivers/watchdog/hpwdt.c +3 -0
index 1eff743..ae60406 100644

Lines of this file are not shown. View the raw message.

drivers/xen/gntdev.c +3 -2
index 1ffd03b..7f12416 100644

Lines of this file are not shown. View the raw message.

drivers/xen/grant-table.c +4 -2
index 0bfc1ef..0067266 100644

Lines of this file are not shown. View the raw message.

fs/cifs/cifs_unicode.c +1 -1
index fbb9da9..33ef60d 100644

Lines of this file are not shown. View the raw message.

fs/dcache.c +2 -2
index 4046904..4123b92 100644

Lines of this file are not shown. View the raw message.

fs/ecryptfs/inode.c +5 -0
index a07441a..02e2fec 100644

Lines of this file are not shown. View the raw message.

fs/nfs/dir.c +2 -2
index f430057..b1f3675 100644

Lines of this file are not shown. View the raw message.

fs/nfs/inode.c +1 -1
index f729698..30bd45a 100644

Lines of this file are not shown. View the raw message.

fs/nfs/nfs3proc.c +1 -1
index af051d8..fda63e9 100644

Lines of this file are not shown. View the raw message.

fs/nfs/nfs4proc.c +2 -2
index b3bca1e..dd372e2 100644

Lines of this file are not shown. View the raw message.

fs/nfs/nfs4xdr.c +2 -1
index 18fae29..cfce99b 100644

Lines of this file are not shown. View the raw message.

fs/nfs/super.c +2 -0
index 1d4b23e..cdbaae2 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/nfsctl.c +2 -6
index c55298e..fa49cff 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/nfsd.h +11 -0
index 1671429..1336a65 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/nfssvc.c +8 -16
index ee709fc..240473c 100644

Lines of this file are not shown. View the raw message.

fs/proc/proc_sysctl.c +2 -3
index 3476bca..5d00eb8 100644

Lines of this file are not shown. View the raw message.

fs/stat.c +1 -1
index b6ff118..4078022 100644

Lines of this file are not shown. View the raw message.

include/asm-generic/mutex-xchg.h +9 -2
index 580a6d3..c04e0db 100644

Lines of this file are not shown. View the raw message.

include/drm/drm_mode.h +3 -2
index 5581980..3d6301b 100644

Lines of this file are not shown. View the raw message.

include/linux/dcache.h +2 -0
index 094789f..525ab12 100644

Lines of this file are not shown. View the raw message.

include/linux/init_task.h +11 -1
index 9e65eff..b806b82 100644

Lines of this file are not shown. View the raw message.

include/linux/kobject.h +1 -1
index fc615a9..1e57449 100644

Lines of this file are not shown. View the raw message.

include/linux/kthread.h +2 -6
index 0714b24..22ccf9d 100644

Lines of this file are not shown. View the raw message.

include/linux/ktime.h +0 -7
index 603bec2..06177ba10 100644

Lines of this file are not shown. View the raw message.

include/linux/mISDNhw.h +1 -1
index d0752ec..9d96d5d 100644

Lines of this file are not shown. View the raw message.

include/linux/memory.h +1 -1
index 1ac7f6e..ff9a9f8 100644

Lines of this file are not shown. View the raw message.

include/linux/mmc/card.h +1 -0
index d76513b..2bd1769 100644

Lines of this file are not shown. View the raw message.

include/linux/netdevice.h +4 -0
index d94cb14..b52070a 100644

Lines of this file are not shown. View the raw message.

include/linux/nfs_fs.h +0 -5
index b23cfc1..4841108 100644

Lines of this file are not shown. View the raw message.

include/linux/pci_ids.h +1 -1
index ab741b0..c642b81 100644

Lines of this file are not shown. View the raw message.

include/linux/perf_event.h +3 -1
index 45db49f..c3c98a6 100644

Lines of this file are not shown. View the raw message.

include/linux/sched.h +4 -1
index 4a1f493..e63650f 100644

Lines of this file are not shown. View the raw message.

include/linux/security.h +1 -0
index 3dea6a9..d143b8e 100644

Lines of this file are not shown. View the raw message.

include/linux/time.h +27 -2
index c81c5e4..b51e664 100644

Lines of this file are not shown. View the raw message.

include/net/bluetooth/smp.h +1 -1
index ca356a7..8b27927 100644

Lines of this file are not shown. View the raw message.

include/net/codel.h +6 -2
index 550debf..389cf62 100644

Lines of this file are not shown. View the raw message.

include/net/scm.h +3 -1
index d456f4c..0c0017c 100644

Lines of this file are not shown. View the raw message.

include/net/sock.h +2 -0
index 4a45216..5de6557 100644

Lines of this file are not shown. View the raw message.

include/trace/events/kmem.h +2 -2
index 5f889f1..08fa272 100644

Lines of this file are not shown. View the raw message.

include/xen/grant_table.h +2 -1
index 11e27c3..f19fff8 100644

Lines of this file are not shown. View the raw message.

kernel/async.c +9 -4
index bd0c168..32d8dc9 100644

Lines of this file are not shown. View the raw message.

kernel/events/core.c +33 -29

62 lines not on this page · raw message

kernel/kthread.c +52 -36

88 lines not on this page · raw message

kernel/sched/core.c +8 -1
index 39c44fa..c04c9ff 100644

Lines of this file are not shown. View the raw message.

kernel/sched/sched.h +10 -13
index 5cf093f..749f712 100644

Lines of this file are not shown. View the raw message.

kernel/time/tick-sched.c +1 -0
index 4a08472..a057ed4 100644

Lines of this file are not shown. View the raw message.

kernel/time/timekeeping.c +29 -3
index 3447cfa..63c88c1 100644

Lines of this file are not shown. View the raw message.

kernel/workqueue.c +14 -20
index bc63253..2016347 100644

Lines of this file are not shown. View the raw message.

lib/digsig.c +4 -2
index 286d558..8c0e629 100644

Lines of this file are not shown. View the raw message.

mm/memory_hotplug.c +10 -6
index 427bb29..0086ac9 100644

Lines of this file are not shown. View the raw message.

mm/page_alloc.c +1 -1
index 201b508..34d879e 100644

Lines of this file are not shown. View the raw message.

net/atm/common.c +1 -0
index b4b44db..0c0ad93 100644

Lines of this file are not shown. View the raw message.

net/atm/pvc.c +1 -0
index 3a73491..ae03240 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/hci_conn.c +4 -0
index 3f18a6e..d74947d 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/hci_core.c +2 -0
index 411ace8..730ff46 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/hci_sock.c +2 -0
index 5914623..bedc768 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/l2cap_core.c +6 -5
index 7568a6f..6204170 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/l2cap_sock.c +2 -1
index 3bb1611..9c94d44 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/mgmt.c +16 -0
index 3e5e336..3571450 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/rfcomm/sock.c +2 -0
index e8707de..2df6956 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/rfcomm/tty.c +1 -1
index d1820ff..6435296 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/smp.c +5 -5
index 37df4e9..926043c 100644

Lines of this file are not shown. View the raw message.

net/core/dev.c +23 -4
index a000840..e2215ee 100644

Lines of this file are not shown. View the raw message.

net/core/sock.c +1 -0
index 9e5b71f..fcf8fdf 100644

Lines of this file are not shown. View the raw message.

net/dccp/ccids/ccid3.c +1 -0
index 8c67bed..ce0d140 100644

Lines of this file are not shown. View the raw message.

net/ipv4/ipmr.c +12 -2
index c94bbc6..9be3d17 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp.c +3 -1
index 6fcd885..7ac0ce6 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp_cong.c +2 -1
index 04dbd7a..41ef65d 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp_input.c +7 -8
index 05fe1f4..262316b 100644

Lines of this file are not shown. View the raw message.

net/ipv4/tcp_output.c +12 -9
index 803cbfe..90b10d0 100644

Lines of this file are not shown. View the raw message.

net/ipv6/addrconf.c +1 -3
index 8f6411c..938ba6d 100644

Lines of this file are not shown. View the raw message.

net/l2tp/l2tp_core.c +1 -2
index 32b2155..cb6584f7 100644

Lines of this file are not shown. View the raw message.

net/l2tp/l2tp_core.h +1 -0
index a38ec6c..56d583e 100644

Lines of this file are not shown. View the raw message.

net/l2tp/l2tp_ip6.c +1 -0
index 35e1e4b..9275471 100644

Lines of this file are not shown. View the raw message.

net/llc/af_llc.c +1 -2
index fe5453c..a13c3e2 100644

Lines of this file are not shown. View the raw message.

net/mac80211/mlme.c +4 -0
index 95ae431..92028de 100644

Lines of this file are not shown. View the raw message.

net/netfilter/ipvs/ip_vs_ctl.c +1 -0
index 84444dd..72bf32a 100644

Lines of this file are not shown. View the raw message.

net/netlink/af_netlink.c +4 -2
index b3025a6..20b32fd 100644

Lines of this file are not shown. View the raw message.

net/openvswitch/vport-internal_dev.c +8 -0
index b6b1d7d..ce5348f 100644

Lines of this file are not shown. View the raw message.

net/packet/af_packet.c +9 -1
index 0f66174..901cffd 100644

Lines of this file are not shown. View the raw message.

net/rds/recv.c +3 -0
index 5c6e9f1..9f0f17c 100644

Lines of this file are not shown. View the raw message.

net/sched/act_gact.c +11 -3
index f10fb82..05d60859 100644

Lines of this file are not shown. View the raw message.

net/socket.c +1 -0
index a990aa9..bce45cc 100644

Lines of this file are not shown. View the raw message.

net/unix/af_unix.c +2 -2
index 641f2e4..9aa708c 100644

Lines of this file are not shown. View the raw message.

net/wireless/reg.c +9 -3
index 460af03..b01449f 100644

Lines of this file are not shown. View the raw message.

sound/aoa/codecs/onyx.c +3 -72

75 lines not on this page · raw message

sound/aoa/codecs/tas.c +3 -77

80 lines not on this page · raw message

sound/pci/hda/hda_codec.c +1 -1
index c0fa629..f1c6164 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/patch_realtek.c +21 -1
index 44d2ab5..7faf28c 100644

Lines of this file are not shown. View the raw message.

sound/pci/hda/patch_sigmatel.c +1 -1
index d2f2264..b98aded 100644

Lines of this file are not shown. View the raw message.

sound/pci/ice1712/prodigy_hifi.c +2 -1
index 764cc93..075d5aa 100644

Lines of this file are not shown. View the raw message.

sound/soc/codecs/wm2000.c +1 -1
index 0418fa1..45f2faf 100644

Lines of this file are not shown. View the raw message.

sound/soc/samsung/dma.c +1 -7
index ddc6cde..2526eca 100644

Lines of this file are not shown. View the raw message.

sound/soc/tegra/tegra_alc5632.c +0 -1
index 32de700..2f272c5 100644

Lines of this file are not shown. View the raw message.

sound/usb/endpoint.c +7 -1
index d6e2bb4..060dccb 100644

Lines of this file are not shown. View the raw message.

sound/usb/pcm.c +6 -0
index fd5e982..f782ce1 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.