Commit Graph

34319 Commits

Author SHA1 Message Date
root
43177bd13d get framebuff phyaddress 2011-02-21 17:01:41 +08:00
ddl
90e49fb1c2 camera: add mt9p111 driver for FIH Project, but driver havn't debug 2011-01-31 18:41:59 +08:00
kfx
52c9106c15 update rk29 vout driver 2011-02-16 19:11:28 +08:00
黄涛
84aa38e58d Merge remote branch 'linux-2.6.32.y/master' into develop
Conflicts:
	drivers/net/wireless/orinoco/main.c
	drivers/net/wireless/orinoco/wext.c
	drivers/net/wireless/p54/p54usb.c
2011-02-13 10:25:30 +08:00
xjh
b6b406a50f Merge branch 'develop' of xjh@10.10.10.29:/home/rockchip/kernel into develop_29server 2011-02-12 17:04:51 +08:00
xjh
33551f0cc4 remove mma8452 when register fail 2011-02-12 17:03:48 +08:00
ddl
fa383e14bb camera:add ov5640 driver, this driver is not support auto focus temporarily 2011-01-29 06:44:25 +08:00
kfx
d43633e88d add board type: malata(mid) 2011-01-26 17:24:53 +08:00
root
ce66949d2a add Dma mem to mem 2011-01-26 15:55:28 +08:00
zhaoyifeng
1cb77a4a76 support 4GB disk. 2011-01-21 18:03:02 +08:00
ddl
8fa52cb8d2 camera: camera io config support power/reset/powerdown/flash 2011-01-14 13:23:10 +08:00
Vlad Yasevich
6552df6df2 sctp: Fix a race between ICMP protocol unreachable and connect()
commit 50b5d6ad63 upstream.

ICMP protocol unreachable handling completely disregarded
the fact that the user may have locked the socket.  It proceeded
to destroy the association, even though the user may have
held the lock and had a ref on the association.  This resulted
in the following:

Attempt to release alive inet socket f6afcc00

=========================
[ BUG: held lock freed! ]
-------------------------
somenu/2672 is freeing memory f6afcc00-f6afcfff, with a lock still held
there!
 (sk_lock-AF_INET){+.+.+.}, at: [<c122098a>] sctp_connect+0x13/0x4c
1 lock held by somenu/2672:
 #0:  (sk_lock-AF_INET){+.+.+.}, at: [<c122098a>] sctp_connect+0x13/0x4c

stack backtrace:
Pid: 2672, comm: somenu Not tainted 2.6.32-telco #55
Call Trace:
 [<c1232266>] ? printk+0xf/0x11
 [<c1038553>] debug_check_no_locks_freed+0xce/0xff
 [<c10620b4>] kmem_cache_free+0x21/0x66
 [<c1185f25>] __sk_free+0x9d/0xab
 [<c1185f9c>] sk_free+0x1c/0x1e
 [<c1216e38>] sctp_association_put+0x32/0x89
 [<c1220865>] __sctp_connect+0x36d/0x3f4
 [<c122098a>] ? sctp_connect+0x13/0x4c
 [<c102d073>] ? autoremove_wake_function+0x0/0x33
 [<c12209a8>] sctp_connect+0x31/0x4c
 [<c11d1e80>] inet_dgram_connect+0x4b/0x55
 [<c11834fa>] sys_connect+0x54/0x71
 [<c103a3a2>] ? lock_release_non_nested+0x88/0x239
 [<c1054026>] ? might_fault+0x42/0x7c
 [<c1054026>] ? might_fault+0x42/0x7c
 [<c11847ab>] sys_socketcall+0x6d/0x178
 [<c10da994>] ? trace_hardirqs_on_thunk+0xc/0x10
 [<c1002959>] syscall_call+0x7/0xb

This was because the sctp_wait_for_connect() would aqcure the socket
lock and then proceed to release the last reference count on the
association, thus cause the fully destruction path to finish freeing
the socket.

The simplest solution is to start a very short timer in case the socket
is owned by user.  When the timer expires, we can do some verification
and be able to do the release properly.

Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-07 14:43:18 -08:00
Martin K. Petersen
dce52eace9 block: Deprecate QUEUE_FLAG_CLUSTER and use queue_limits instead
commit e692cb668f upstream.

When stacking devices, a request_queue is not always available. This
forced us to have a no_cluster flag in the queue_limits that could be
used as a carrier until the request_queue had been set up for a
metadevice.

There were several problems with that approach. First of all it was up
to the stacking device to remember to set queue flag after stacking had
completed. Also, the queue flag and the queue limits had to be kept in
sync at all times. We got that wrong, which could lead to us issuing
commands that went beyond the max scatterlist limit set by the driver.

The proper fix is to avoid having two flags for tracking the same thing.
We deprecate QUEUE_FLAG_CLUSTER and use the queue limit directly in the
block layer merging functions. The queue_limit 'no_cluster' is turned
into 'cluster' to avoid double negatives and to ease stacking.
Clustering defaults to being enabled as before. The queue flag logic is
removed from the stacking function, and explicitly setting the cluster
flag is no longer necessary in DM and MD.

Reported-by: Ed Lin <ed.lin@promise.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Acked-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-07 14:43:18 -08:00
Neil Brown
54cc1ed394 nfsd: Fix possible BUG_ON firing in set_change_info
commit c1ac3ffcd0 upstream.

If vfs_getattr in fill_post_wcc returns an error, we don't
set fh_post_change.
For NFSv4, this can result in set_change_info triggering a BUG_ON.
i.e. fh_post_saved being zero isn't really a bug.

So:
 - instead of BUGging when fh_post_saved is zero, just clear ->atomic.
 - if vfs_getattr fails in fill_post_wcc, take a copy of i_ctime anyway.
   This will be used i seg_change_info, but not overly trusted.
 - While we are there, remove the pointless 'if' statements in set_change_info.
   There is no harm setting all the values.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-01-07 14:43:04 -08:00
hxy
33c55e5813 update yaffs2 nand according to raho project 2010-12-29 16:22:08 +08:00
kfx
31cfb36661 'hdmi can switch resolution automatically' and 'modify gpio_key(vol+ vol-) report event' 2010-12-29 12:33:30 +08:00
ddl
067c248f8d camera:add ov7675 driver, add ov5642 A3907 AF firmware, fix ov5642 AF may be fail 2010-12-27 14:53:55 +08:00
kfx
7475d042cb update hdmi driver 2010-12-24 10:12:35 +08:00
hxy
19b937babe add pwm voltage regulator 2010-12-21 16:53:47 +08:00
kfx
fbd7972e39 enable hdmi audio output 2010-12-20 20:47:31 +08:00
kfx
04f88ca2ad add hdmi driver 2010-12-20 14:58:15 +08:00
root
bd73d52914 Merge branch 'develop' of xjh@10.10.10.29:/home/rockchip/kernel into develop 2010-12-18 09:34:56 +08:00
root
9d886535b3 [xjh] gsensor with debug open 2010-12-17 16:23:55 +08:00
黄涛
6e2688ca84 Merge remote branch 'linux-2.6.32.y/master' into develop
Conflicts:
	drivers/i2c/busses/Kconfig
	drivers/net/dm9000.c
	drivers/net/wireless/libertas/if_sdio1.c
	drivers/usb/serial/option.c
	net/bluetooth/rfcomm/core.c
2010-12-16 20:54:24 +08:00
David S. Miller
f342cb14f5 net: Limit socket I/O iovec total length to INT_MAX.
commit 8acfe468b0 upstream.

This helps protect us from overflow issues down in the
individual protocol sendmsg/recvmsg handlers.  Once
we hit INT_MAX we truncate out the rest of the iovec
by setting the iov_len members to zero.

This works because:

1) For SOCK_STREAM and SOCK_SEQPACKET sockets, partial
   writes are allowed and the application will just continue
   with another write to send the rest of the data.

2) For datagram oriented sockets, where there must be a
   one-to-one correspondance between write() calls and
   packets on the wire, INT_MAX is going to be far larger
   than the packet size limit the protocol is going to
   check for and signal with -EMSGSIZE.

Based upon a patch by Linus Torvalds.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-12-09 13:27:13 -08:00