Commit graph

26,216 commits

Author SHA1 Message Date
yxj
3e7acefa94 rk2928 lvds,rk610 lvds:move lvds connect MACRO to rk_screen.h 2013-01-23 23:17:13 +08:00
yxj
4673caa440 rk screen:add interface to calculator fb size by screen resolution 2013-01-23 11:39:30 +08:00
yxj
90051d6c76 rkfb:add interface __rk_platform_add_display_devices 2013-01-22 20:51:23 +08:00
黄涛
67450b3bb6 Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0
Merge v3.0.59
Conflicts:
	Makefile
	drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h
	drivers/net/wireless/ath/ath9k/ar9003_eeprom.h
	drivers/usb/serial/option.c
2013-01-21 17:21:19 +08:00
yxj
c8cdb6107e edp transmitter dp501 support 2013-01-21 16:24:39 +08:00
Greg Rose
a0d3aa1f04 rtnetlink: Fix problem with buffer allocation
commit 115c9b8192 upstream.

Implement a new netlink attribute type IFLA_EXT_MASK.  The mask
is a 32 bit value that can be used to indicate to the kernel that
certain extended ifinfo values are requested by the user application.
At this time the only mask value defined is RTEXT_FILTER_VF to
indicate that the user wants the ifinfo dump to send information
about the VFs belonging to the interface.

This patch fixes a bug in which certain applications do not have
large enough buffers to accommodate the extra information returned
by the kernel with large numbers of SR-IOV virtual functions.
Those applications will not send the new netlink attribute with
the interface info dump request netlink messages so they will
not get unexpectedly large request buffers returned by the kernel.

Modifies the rtnl_calcit function to traverse the list of net
devices and compute the minimum buffer size that can hold the
info dumps of all matching devices based upon the filter passed
in via the new netlink attribute filter mask.  If no filter
mask is sent then the buffer allocation defaults to NLMSG_GOODSIZE.

With this change it is possible to add yet to be defined netlink
attributes to the dump request which should make it fairly extensible
in the future.

Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Acked-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Backported to 3.0:
 - Adjust context
 - Drop the change in do_setlink() that reverts commit f18da14565
   ('net: RTNETLINK adjusting values of min_ifinfo_dump_size'), which
   was never applied here]
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:43:58 -08:00
Greg Rose
2e3cbdeae8 rtnetlink: Compute and store minimum ifinfo dump size
commit c7ac8679be upstream.

The message size allocated for rtnl ifinfo dumps was limited to
a single page.  This is not enough for additional interface info
available with devices that support SR-IOV and caused a bug in
which VF info would not be displayed if more than approximately
40 VFs were created per interface.

Implement a new function pointer for the rtnl_register service that will
calculate the amount of data required for the ifinfo dump and allocate
enough data to satisfy the request.

Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Cc: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:43:58 -08:00
yxj
5353ce10c8 move some screen related data structure frome board.h to rk_screen.h 2013-01-16 17:43:17 +08:00
yxj
d425ecdcc0 rk3188 lcdc: fix one err of rgb swap 2013-01-15 20:18:29 +08:00
yxj
4460ae68a1 rk3188:add lcdc support 2013-01-15 20:18:28 +08:00
黄涛
e1c56a82b5 Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0
Merge v3.0.58
Conflicts:
	Makefile
	drivers/net/wireless/p54/p54usb.c
2013-01-15 12:45:19 +08:00
黄涛
039233cc0a rk_screen.h: fix when DISPLAY_SUPPORT no selected 2013-01-14 16:25:15 +08:00
Andy Lutomirski
e641306788 PCI: Reduce Ricoh 0xe822 SD card reader base clock frequency to 50MHz
commit 812089e01b upstream.

Otherwise it fails like this on cards like the Transcend 16GB SDHC card:

    mmc0: new SDHC card at address b368
    mmcblk0: mmc0:b368 SDC   15.0 GiB
    mmcblk0: error -110 sending status command, retrying
    mmcblk0: error -84 transferring data, sector 0, nr 8, cmd response 0x900, card status 0xb0

Tested on my Lenovo x200 laptop.

[bhelgaas: changelog]
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Chris Ball <cjb@laptop.org>
CC: Manoj Iyer <manoj.iyer@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-11 09:03:49 -08:00
Eric Dumazet
ab5c718d0f tcp: implement RFC 5961 4.2
[ Upstream commit 0c24604b68 ]

Implement the RFC 5691 mitigation against Blind
Reset attack using SYN bit.

Section 4.2 of RFC 5961 advises to send a Challenge ACK and drop
incoming packet, instead of resetting the session.

Add a new SNMP counter to count number of challenge acks sent
in response to SYN packets.
(netstat -s | grep TCPSYNChallenge)

Remove obsolete TCPAbortOnSyn, since we no longer abort a TCP session
because of a SYN flag.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Kiran Kumar Kella <kkiran@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-11 09:03:48 -08:00
Eric Dumazet
86791bbfe5 tcp: implement RFC 5961 3.2
[ Upstream commit 282f23c6ee ]

Implement the RFC 5691 mitigation against Blind
Reset attack using RST bit.

Idea is to validate incoming RST sequence,
to match RCV.NXT value, instead of previouly accepted
window : (RCV.NXT <= SEG.SEQ < RCV.NXT+RCV.WND)

If sequence is in window but not an exact match, send
a "challenge ACK", so that the other part can resend an
RST with the appropriate sequence.

Add a new sysctl, tcp_challenge_ack_limit, to limit
number of challenge ACK sent per second.

Add a new SNMP counter to count number of challenge acks sent.
(netstat -s | grep TCPChallengeACK)

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Kiran Kumar Kella <kkiran@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-11 09:03:48 -08:00
Steven Rostedt
6fe7238ef4 ftrace: Do not function trace inlined functions
commit 45959ee7aa upstream.

When gcc inlines a function, it does not mark it with the mcount
prologue, which in turn means that inlined functions are not traced
by the function tracer. But if CONFIG_OPTIMIZE_INLINING is set, then
gcc is allowed not to inline a function that is marked inline.

Depending on the options and the compiler, a function may or may
not be traced by the function tracer, depending on whether gcc
decides to inline a function or not. This has caused several
problems in the pass becaues gcc is not always consistent with
what it decides to inline between different gcc versions.

Some places should not be traced (like paravirt native_* functions)
and these are mostly marked as inline. When gcc decides not to
inline the function, and if that function should not be traced, then
the ftrace function tracer will suddenly break when it use to work
fine. This becomes even harder to debug when different versions of
gcc will not inline that function, making the same kernel and config
work for some gcc versions and not work for others.

By making all functions marked inline to not be traced will remove
the ambiguity that gcc adds when it comes to tracing functions marked
inline. All gcc versions will be consistent with what functions are
traced and having volatile working code will be removed.

Note, only the inline macro when CONFIG_OPTIMIZE_INLINING is set needs
to have notrace added, as the attribute __always_inline will force
the function to be inlined and then not traced.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-11 09:03:47 -08:00
Christoffer Dall
8fafe011ed mm: Fix PageHead when !CONFIG_PAGEFLAGS_EXTENDED
commit ad4b3fb7ff upstream.

Unfortunately with !CONFIG_PAGEFLAGS_EXTENDED, (!PageHead) is false, and
(PageHead) is true, for tail pages.  If this is indeed the intended
behavior, which I doubt because it breaks cache cleaning on some ARM
systems, then the nomenclature is highly problematic.

This patch makes sure PageHead is only true for head pages and PageTail
is only true for tail pages, and neither is true for non-compound pages.

[ This buglet seems ancient - seems to have been introduced back in Apr
  2008 in commit 6a1e7f777f: "pageflags: convert to the use of new
  macros".  And the reason nobody noticed is because the PageHead()
  tests are almost all about just sanity-checking, and only used on
  pages that are actual page heads.  The fact that the old code returned
  true for tail pages too was thus not really noticeable.   - Linus ]

Signed-off-by: Christoffer Dall <cdall@cs.columbia.edu>
Acked-by:  Andrea Arcangeli <aarcange@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Will Deacon <Will.Deacon@arm.com>
Cc: Steve Capper <Steve.Capper@arm.com>
Cc: Christoph Lameter <cl@linux.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-11 09:03:36 -08:00
Kees Cook
28278b332b exec: do not leave bprm->interp on stack
commit b66c598401 upstream.

If a series of scripts are executed, each triggering module loading via
unprintable bytes in the script header, kernel stack contents can leak
into the command line.

Normally execution of binfmt_script and binfmt_misc happens recursively.
However, when modules are enabled, and unprintable bytes exist in the
bprm->buf, execution will restart after attempting to load matching
binfmt modules.  Unfortunately, the logic in binfmt_script and
binfmt_misc does not expect to get restarted.  They leave bprm->interp
pointing to their local stack.  This means on restart bprm->interp is
left pointing into unused stack memory which can then be copied into the
userspace argv areas.

After additional study, it seems that both recursion and restart remains
the desirable way to handle exec with scripts, misc, and modules.  As
such, we need to protect the changes to interp.

This changes the logic to require allocation for any changes to the
bprm->interp.  To avoid adding a new kmalloc to every exec, the default
value is left as-is.  Only when passing through binfmt_script or
binfmt_misc does an allocation take place.

For a proof of concept, see DoTest.sh from:

   http://www.halfdog.net/Security/2012/LinuxKernelBinfmtScriptStackDataDisclosure/

Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: halfdog <me@halfdog.net>
Cc: P J P <ppandit@redhat.com>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-11 09:03:36 -08:00
zyc
50e9c2909f camera: add mv9335+ov56550 driver,version upated to 0.2.0x1e. 2013-01-10 14:25:40 +08:00
yxj
ba301913b0 display transmitter:edp anx9804 anx9805 anx6345 support 2013-01-09 12:23:10 +08:00
yxj
510c189c07 edp anx9804:add debug fs 2013-01-06 20:30:23 +08:00
黄涛
4c69fdc441 rk30-pwm-regulator: use new pwm API 2013-01-04 18:29:20 +08:00
kfx
3f833ed419 rk3168: ds1006h support 2012-12-30 22:07:35 +08:00
yxj
523c05dd11 display transmitter:add edp transmitter anx9804 support 2012-12-29 17:42:52 +08:00
黄涛
1bdf414f0e Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0
Conflicts:
	Makefile
2012-12-27 12:57:21 +08:00
张晴
5410736e6a rk3168:act8846:support pmic shut down and early suspend 2012-12-27 10:52:41 +08:00
黄涛
c2d5e8a674 rk29-pwm-regulator: pwm_voltage_map as const, fix gcc warning: initialization discards qualifiers from pointer target type 2012-12-25 18:05:22 +08:00
张晴
1aa5034fb1 rk3168:modify defult voltage,modify some warnings 2012-12-20 16:47:10 +08:00
黄涛
2b57125c3d Merge remote-tracking branch 'aosp/android-3.0' into develop-3.0
Conflicts:
	drivers/net/wireless/bcmdhd/Makefile
	drivers/net/wireless/bcmdhd/bcmsdh.c
	drivers/net/wireless/bcmdhd/bcmsdh_linux.c
	drivers/net/wireless/bcmdhd/bcmsdh_sdmmc.c
	drivers/net/wireless/bcmdhd/bcmsdh_sdmmc_linux.c
	drivers/net/wireless/bcmdhd/dhd.h
	drivers/net/wireless/bcmdhd/dhd_cfg80211.c
	drivers/net/wireless/bcmdhd/dhd_custom_gpio.c
	drivers/net/wireless/bcmdhd/dhd_linux.c
	drivers/net/wireless/bcmdhd/dhd_sdio.c
	drivers/net/wireless/bcmdhd/include/bcmutils.h
	drivers/net/wireless/bcmdhd/include/epivers.h
	drivers/net/wireless/bcmdhd/include/sbchipc.h
	drivers/net/wireless/bcmdhd/include/sdioh.h
	drivers/net/wireless/bcmdhd/include/wlioctl.h
	drivers/net/wireless/bcmdhd/wl_android.c
	drivers/net/wireless/bcmdhd/wl_cfg80211.c
	drivers/net/wireless/bcmdhd/wl_cfg80211.h
	drivers/net/wireless/bcmdhd/wl_cfgp2p.c
	drivers/net/wireless/bcmdhd/wl_cfgp2p.h
	drivers/net/wireless/bcmdhd/wldev_common.c
2012-12-18 16:25:10 +08:00
黄涛
418c235ca8 Revert "Merge branch 'develop-3.0' of ssh://10.10.10.29/rk/kernel into develop-3.0"
This reverts commit dd2610d92e, reversing
changes made to 78bf84a2dd.
2012-12-18 16:23:28 +08:00
gwl
cd57be725d update network protcol to support bcm direct 2012-12-18 14:35:17 +08:00
Mel Gorman
15487eba10 tmpfs: fix shared mempolicy leak
commit 18a2f371f5 upstream.

This fixes a regression in 3.7-rc, which has since gone into stable.

Commit 00442ad04a ("mempolicy: fix a memory corruption by refcount
imbalance in alloc_pages_vma()") changed get_vma_policy() to raise the
refcount on a shmem shared mempolicy; whereas shmem_alloc_page() went
on expecting alloc_page_vma() to drop the refcount it had acquired.
This deserves a rework: but for now fix the leak in shmem_alloc_page().

Hugh: shmem_swapin() did not need a fix, but surely it's clearer to use
the same refcounting there as in shmem_alloc_page(), delete its onstack
mempolicy, and the strange mpol_cond_copy() and __mpol_cond_copy() -
those were invented to let swapin_readahead() make an unknown number of
calls to alloc_pages_vma() with one mempolicy; but since 00442ad04a,
alloc_pages_vma() has kept refcount in balance, so now no problem.

Reported-and-tested-by: Tommi Rantala <tt.rantala@gmail.com>
Signed-off-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Hugh Dickins <hughd@google.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-12-17 10:49:03 -08:00
张晴
4d73bba4b4 rk:support act8846 pmic 2012-12-07 11:12:44 +08:00
黄涛
ef62b5225e Merge remote-tracking branch 'stable/linux-3.0.y' into develop-3.0
Conflicts:
	Makefile
	drivers/net/wireless/ath/ath9k/xmit.c
	drivers/net/wireless/rt2x00/rt2800lib.c
	scripts/Kbuild.include
2012-12-01 12:07:55 +08:00
hwg
b04e4f3ea6 wifi: support mt5931 wifi and mt6622 bt 2012-11-28 17:10:22 +08:00
Ram Pai
36720ae8b3 PCI : ability to relocate assigned pci-resources
commit 2bbc694227 upstream.

Currently pci-bridges are allocated enough resources to satisfy their immediate
requirements.  Any additional resource-requests fail if additional free space,
contiguous to the one already allocated, is not available. This behavior is not
reasonable since sufficient contiguous resources, that can satisfy the request,
are available at a different location.

This patch provides the ability to expand and relocate a allocated resource.

	v2: Changelog: Fixed size calculation in pci_reassign_resource()
	v3: Changelog : Split this patch. The resource.c changes are already
			upstream. All the pci driver changes are in here.

Signed-off-by: Ram Pai <linuxram@us.ibm.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: Andrew Worsley <amworsley@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-26 11:34:57 -08:00
gy@rock-chips.com
b181f07469 add gsensor mxc6225 2012-11-22 21:01:10 +08:00
luowei
48ff38b665 rk30_phonepad: update some driver from c8003
modified:   drivers/input/misc/rk_board_id.c
	modified:   drivers/input/ts/chips/Kconfig
	modified:   drivers/input/ts/chips/Makefile
	new file:   drivers/input/ts/chips/ct360.c
	new file:   drivers/input/ts/chips/ct360_firmware.h
	modified:   drivers/input/ts/chips/gt828.c
	modified:   drivers/input/ts/ts-auto.c
	modified:   drivers/input/ts/ts-i2c.c
	new file:   drivers/input/ts/ts-serial.c
	new file:   drivers/input/ts/ts-spi.c
	modified:   drivers/misc/bp/bp-auto.c
	modified:   drivers/misc/bp/chips/mt6229.c
	modified:   drivers/usb/serial/usb-serial.c
	modified:   drivers/video/display/screen/lcd_auto.c
	modified:   include/linux/rk_board_id.h
	modified:   include/linux/ts-auto.h
2012-11-18 13:01:01 +08:00
J. Bruce Fields
110d3a25cc nfsd: add get_uint for u32's
commit a007c4c3e9 upstream.

I don't think there's a practical difference for the range of values
these interfaces should see, but it would be safer to be unambiguous.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Cc: Sasha Levin <sasha.levin@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-11-17 13:14:21 -08:00
kfx
de486385f2 adc: get_def_ref_volt/get_curr_ref_volt --> adc_get_def_ref_volt/adc_get_curr_volt 2012-11-16 11:32:25 +08:00
kfx
82b65d3a7b adc: interface: 'get_def_ref_volt' and 'get_curr_ref_volt' 2012-11-16 10:17:42 +08:00
zyc
b64d2bee8c camera: add focus zone ioctrl id. 2012-11-15 16:37:49 +08:00
kfx
1821ff5f32 i2c: warning if rk610 is exist
e.g.
*************** WARNING ****************
i2c i2c-0: rk610 is exist, clients:
client: rk610_ctl, addr: 0x40
client: rk610_tvout, addr: 0x42
client: rk610_hdmi, addr: 0x46
client: rk610_i2c_codec, addr: 0x60
client: wm8326, addr: 0x34
****************************************
2012-11-13 11:53:27 +08:00
yxj
68609f11d5 rk2928 lcdc:switch all lcdc io to gpio mode when hdmi plug in 2012-11-12 15:50:21 +08:00
Todd Poynor
925d49abc3 Merge remote-tracking branch 'stable/linux-3.0.y' into android-3.0
Change-Id: I9685feb9277b450da10d78a455b3c0674d6cfe18
Signed-off-by: Todd Poynor <toddpoynor@google.com>
2012-11-01 13:36:34 -07:00
赵子初
87db50252a rk2928phonepad: sc6610:add resume and suspend 2012-10-25 20:31:29 +08:00
luowei
fd4a096f0f rk30_phonepad:add board id head file 2012-10-24 18:35:42 +08:00
luowei
534cc41268 rk30_phonepad:add auto modem driver support 2012-10-24 18:11:05 +08:00
linjh
6307cd6953 rk2928_phonepad: adjust ap321xx l/p sensor to compatibale sensor framework
[reference files]

	modified:
		arch/arm/configs/rk2928_phonepad_defconfig
		arch/arm/mach-rk2928/board-rk2928-phonepad.c
		arch/arm/mach-rk2928/include/mach/board.h
		drivers/input/misc/Kconfig
		drivers/input/misc/Makefile
		drivers/input/sensors/lsensor/Kconfig
		drivers/input/sensors/lsensor/Makefile
		drivers/input/sensors/psensor/Kconfig
		drivers/input/sensors/psensor/Makefile
		drivers/input/sensors/sensor-dev.c
		include/linux/sensor-dev.h
	new file:
		drivers/input/sensors/psensor/ps_ap321xx.c
		drivers/input/sensors/lsensor/ls_ap321xx.c
	deleted:
		drivers/input/misc/ap321xx.c
2012-10-24 11:58:12 +08:00
linjh
8189a7d87d rk2928_phonepad: remove exp gpio
[reference files]
	modified:

	arch/arm/mach-rk2928/include/mach/board.h
    drivers/misc/rk2928_callpad_misc/Kconfig
    drivers/misc/rk2928_callpad_misc/Makefile

	deleted:

	drivers/misc/rk2928_callpad_misc/gpio_exp_callpad.c
    include/linux/gpio_exp_callpad.h
2012-10-23 16:31:44 +08:00