Merge commit 'v3.4.8' into android-t114-3.4-rebased
Varun Wadekar [Mon, 13 Aug 2012 08:53:04 +0000 (13:53 +0530)]
Linux v3.4.8

Conflicts:
drivers/net/tun.c
kernel/power/suspend.c

Change-Id: Ia26546425cd20f127dbf4dd58cfca41bda47d23d
Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>

15 files changed:
1  2 
Makefile
drivers/hid/hid-input.c
drivers/hid/hid-multitouch.c
drivers/mmc/host/sdhci.c
drivers/net/ethernet/realtek/r8169.c
drivers/net/tun.c
drivers/usb/gadget/u_ether.c
fs/exec.c
fs/ext4/super.c
include/linux/cpu.h
include/linux/mm.h
kernel/power/hibernate.c
kernel/power/suspend.c
net/ipv4/tcp.c
sound/pci/hda/patch_hdmi.c

diff --cc Makefile
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -1252,16 -1255,12 +1255,18 @@@ static long __tun_chr_ioctl(struct fil
        int vnet_hdr_sz;
        int ret;
  
 +#ifdef CONFIG_ANDROID_PARANOID_NETWORK
 +      if (cmd != TUNGETIFF && !capable(CAP_NET_ADMIN)) {
 +              return -EPERM;
 +      }
 +#endif
 +
-       if (cmd == TUNSETIFF || _IOC_TYPE(cmd) == 0x89)
+       if (cmd == TUNSETIFF || _IOC_TYPE(cmd) == 0x89) {
                if (copy_from_user(&ifr, argp, ifreq_len))
                        return -EFAULT;
+       } else {
+               memset(&ifr, 0, sizeof(ifr));
+       }
        if (cmd == TUNGETFEATURES) {
                /* Currently this just means: "what IFF flags are valid?".
                 * This is needed because we never checked for invalid flags on
Simple merge
diff --cc fs/exec.c
Simple merge
diff --cc fs/ext4/super.c
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -24,7 -24,7 +24,8 @@@
  #include <linux/export.h>
  #include <linux/suspend.h>
  #include <linux/syscore_ops.h>
 +#include <linux/rtc.h>
+ #include <linux/ftrace.h>
  #include <trace/events/power.h>
  
  #include "power.h"
diff --cc net/ipv4/tcp.c
Simple merge
@@@ -1173,28 -1147,8 +1167,29 @@@ static int generic_hdmi_playback_pcm_pr
        struct hdmi_spec *spec = codec->spec;
        int pin_idx = hinfo_to_pin_index(spec, hinfo);
        hda_nid_t pin_nid = spec->pins[pin_idx].pin_nid;
+       int pinctl;
  
 +#if defined(CONFIG_SND_HDA_PLATFORM_NVIDIA_TEGRA) && defined(CONFIG_TEGRA_DC)
 +      if (codec->preset->id == 0x10de0020) {
 +              int err = 0;
 +
 +              if (substream->runtime->channels == 2)
 +                      tegra_hdmi_audio_null_sample_inject(true);
 +              else
 +                      tegra_hdmi_audio_null_sample_inject(false);
 +
 +              /* Set hdmi:audio freq and source selection*/
 +              err = tegra_hdmi_setup_audio_freq_source(
 +                                      substream->runtime->rate, HDA);
 +              if ( err < 0 ) {
 +                      snd_printk(KERN_ERR
 +                              "Unable to set hdmi audio freq to %d \n",
 +                                              substream->runtime->rate);
 +                      return err;
 +              }
 +      }
 +#endif
 +
        hdmi_set_channel_count(codec, cvt_nid, substream->runtime->channels);
  
        hdmi_setup_audio_infoframe(codec, pin_idx, substream);