Commit Graph

25984 Commits

Author SHA1 Message Date
Tatyana Brokhman
ebd3f395ba usb: gadget: use config_ep_by_speed() instead of ep_choose()
Remove obsolete functions:
1. ep_choose()
2. usb_find_endpoint()

Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
[idos@codeaurora.org: Changed also the following files to
comply with this commit: f_accessory.c,f_adb.c,f_diag.c,f_mtp.c,
f_rmnet.c,f_rmnet_sdio,f_rmnet_smd,f_rmnet_smd_sdio,f_serial.f_ccid.c.
Also merged a patch in f_serial.c for correct checking of the return value
of config_ep_by_speed. See "usb: gadget: fix g_serial regression".
Also fix a bug in ci13xxx_udc. Since f_serial is now checking if the endpoint
descriptors are null in the set_alt function, need to set them to null on
ep_disable in case of cable disconnect. Since the ep descriptor was inserted
to struct usb_ep in "usb: gadget: add usb_endpoint_descriptor to struct usb_ep"
then simply convert the ci13xxx_udc to work with mEp->ep.desc instead of
mEp->desc, this will ensure that the correct descriptor will be cleared
on endpoint disable.
I will upstream it to Linux community soon, I will name it:
"usb: gadget: use usb ep descriptor of struct usb_ep instead of wrapper desc"]
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-02-03 21:28:34 +02:00
Tatyana Brokhman
e2a9f931cc usb: gadget: configure endpoint according to gadget speed
Add config_ep_by_speed() to configure the endpoint
according to the gadget speed.

Using this function will spare the FDs from handling
the endpoint chosen descriptor.

Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-02-03 21:28:34 +02:00
Tatyana Brokhman
9168a350f7 usb: gadget: add usb_endpoint_descriptor to struct usb_ep
Change usb_ep_enable() prototype to use endpoint
descriptor from usb_ep.

This optimization spares the FDs from saving the
endpoint chosen descriptor. This optimization is
not full though. To fully exploit this change, one
needs to update all the UDCs as well since in the
current implementation each of them saves the
endpoint descriptor in it's internal (and extended)
endpoint structure.

Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
[idos@codeaurora.org: Added more changes for the following files
since API break with msm code tree: ci13xxx_udc.c,f_accessory,f_adb,
f_diag,f_mtp,f_rmnet,f_rmnet_sdio,f_rmnet_smd, f_rmnet_smd_sdio,u_bam.c,
u_sdio.c,u_rmnet.h,u_sdio.c,u_smd.c,f_ccid.c,u_data_hsic.c]
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-02-03 21:28:33 +02:00
Felipe Balbi
b657342882 usb: gadget: introduce UDC Class
this class will be used to abstract away several of the duplicated
operations scattered among the USB gadget controller drivers.

Later, we can add an atomic notifier to tell interested drivers about
what's happening with the controller. Notifications such as suspend,
resume, enumerated, etc. will be useful, at a minimum, for implementing
usb charger detection.

As part of the converting process usb_gadget_probe_driver() is no longer
part of each udc but pushed into the ->stap() callback. The same for his
couterpart.

The core is currently set explicit to 'n'. It will be changed to 'y' once
all users are converted since it provides functions which clash with
other drivers.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Acked-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-02-03 21:28:32 +02:00
Sebastian Andrzej Siewior
1e4eabf4be usb: ch9: add function defines from ch9, USB 3.0 spec
not to confuse with Table 9-7 in USB 2.0 spec

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-02-03 21:28:32 +02:00
kuninori.morimoto.gx@renesas.com
24a340bc5f usb: add usb_endpoint_maxp() macro
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
[idos@codeaurora.org: use __le16_to_cpu instead of le16_to_cpu]
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-02-03 21:27:03 +02:00
David Collins
0c19fa8e52 regulator: pm8xxx-regulator: Add OCP control functionality for switches
Add the ability to selectively enable over current protection
(OCP) for LVS and MVS type PMIC voltage switches.  OCP is used to
automatically disable the output of a PMIC switch in hardware when
the load on the switch becomes too large.

The sequence used when enabling a switch when OCP is desired is as
follows:
1. Disable OCP.
2. Enable the switch.
3. Wait for ocp_enable_time microseconds.
4. Enable OCP.

This sequence is used to ensure that sufficient time is allowed
for inrush current to subside so that a false OCP event is not
triggered.  The delay time is board specific.

Change-Id: I0ea73d3bddd3280ff25f232ece0f1175a52d36cc
Signed-off-by: David Collins <collinsd@codeaurora.org>
2012-02-03 11:12:25 -08:00
David Collins
1b570d26b8 mfd: pmic: Add voltage switch test registers to PMIC core drivers
Specify the SSBI test register address for each of the voltage
switches in PMIC 8018, 8038, and 8921 core drivers.  This will
allow for future handling of over current protection (OCP) in
the pm8xxx-regulator driver.

Also define the OCP IRQs associated with each of the switches
on these PMICs.

Change-Id: Icfc51c01680e6e95b4348051c764f16cb91b4916
Signed-off-by: David Collins <collinsd@codeaurora.org>
2012-02-03 11:07:23 -08:00
Larry Bassel
cf10e5846d fmem: Add reserved_size to fmem
Due to a limitation in how the video hardware is able
to access memory, fmem needs to be able to allocate a
physically contiguous block of memory that can be split into
two pieces. One piece will be managed by fmem
while the other piece (reserved) will not be handled by fmem.
The hardware limitation requires the reserved part to be at
a lower address than the other piece managed by fmem.

Add a new parameter to fmem that allows platform
data to specify the size of the piece that should not
be managed by fmem.

Change-Id: I910680ca72233de9cef91ac3262a078a36f1b1fd
Signed-off-by: Olav Haugan <ohaugan@codeaurora.org>
2012-02-03 08:58:44 -08:00
Deva Ramasubramanian
51cbd0accc [media] v4l: Add frameskip parameter
v4l2_qcom_frameskip is a QCOM specific parameter to be used with
VIDIO_S_PARM to indicate that the driver might take up to
maxframeinterval nanoseconds in providing the next buffer.

Driver supports this parameter if the V4L2_CAP_QCOM_FRAMESKIP capability
is set in VIDIO_G_PARM.

Change-Id: Iebbd012b9cc75395b1e165349e7e2d9d7a77160a
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
2012-02-02 12:21:17 -08:00
Kamil Debski
8b02007a6b [media] v4l: add fourcc definitions for compressed formats
Add fourcc definitions and documentation for the following
compressed formats: H264, H264 without start codes,
MPEG1/2/4 ES, XVID, VC1 Annex G and Annex L compliant.

Change-Id: Ibd87db4f72793310871ebd7a178e9593c4b54d33
Signed-off-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Deva Ramasubramanian <dramasub@codeaurora.org>
2012-02-02 12:21:16 -08:00
Amy Maloche
83c385a929 input: atmel-mxt-ts: Provide max touch coordinates via platform data
The atmel_mxt_ts driver manipulates the touch coordinates
if they are < 1024. In cases when the display < 1024 and
virtual key area > 1024, there is a problem in reporting
the coordinates for the virtual key area. Add new pdata
variables which can handle this.

Change-Id: Ic31db032a1598c60c01bff31c7b36042f42c9817
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
2012-02-01 14:41:01 -08:00
Linux Build Service Account
98009d81e1 Merge "mfd: pm8xxx-misc: add pm8xxx_usb_id_pullup API" into msm-3.0 2012-02-01 10:37:20 -08:00
Felipe Balbi
3853301374 usb: dwc3: omap: distinguish between SW and HW modes
The OMAP wrapper allows us to either control internal
OTG signals via SW or HW. Different boards might wish
to use one or the other mode of operation. Let's have
have that information passed via platform_data for now.

After DT conversion is finished for OMAP, we can easily
convert this to a DT attribute.

Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
2012-02-01 17:46:16 +02:00
Shalabh Jain
a755784054 diag: Add tools support for new 8x30 and 8x27 targets
PC tools like QPST/QXDM need a distinct ID for each new target type.
DIAG driver provides this ID and hence adding this support.

Change-Id: I270706440ffdfeb1244a9c96484f26c386cc9cbd
Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
2012-02-01 20:25:03 +05:30
Willie Ruan
5db1f24037 mfd: pm8xxx-misc: add pm8xxx_usb_id_pullup API
PM8921 family provides a pullup enable bit to support USB ID.
Add the API for such support.

Change-Id: Id3056af070080c1c12f27720020ae718fc6f34f6
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
2012-02-01 14:11:04 +05:30
Linux Build Service Account
fa94c687e2 Merge "base: genlock: Remove genlock_release_lock and associated ioctl" into msm-3.0 2012-01-31 21:44:00 -08:00
Arve Hjønnevåg
4dc43d7079 Input: evdev - Add ioctl to block suspend while event queue is not empty.
Add an ioctl, EVIOCSSUSPENDBLOCK, to enable a wakelock that will block
suspend while the event queue is not empty. This allows userspace code to
process input events while the device appears to be asleep.

The current code holds the wakelock for up 5 seconds for every input
device and client. This can prevent suspend if sensor with a high data
rate is active, even when that sensor is not capable of waking the
device once it is suspended.

Change-Id: I624d66ef30a0b3abb543685c343382b8419b42b9
Signed-off-by: Arve Hjønnevåg <arve@android.com>
2012-01-31 16:00:27 -08:00
Linux Build Service Account
30b801365a Merge "slimbus: Provide separate APIs to connect source and sink ports" into msm-3.0 2012-01-31 13:05:26 -08:00
Willie Ruan
b10be97df4 mfd: pm8xxx-pwm: add pre-divide=6 and update macros
Add pre-divide=6 and update the max period based on new pre-divide.
Also update pre-divide related macros for better readability.

Change-Id: I5298c373c78f8723dab9a735e4d94f89798800d5
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
2012-01-30 11:23:49 -08:00
Linux Build Service Account
516d60e24a Merge "usb: gadget: Add HSIC Peripheral over SPS support" into msm-3.0 2012-01-29 07:55:46 -08:00
Linux Build Service Account
d023140883 Merge "msm: idle_stats: Permit GPU DCVS daemon to configure number of samples" into msm-3.0 2012-01-29 07:55:46 -08:00
Ofir Cohen
010009b830 usb: gadget: Add HSIC Peripheral over SPS support
Add support in HSIC peripheral(device)
over SPS.
Only one USB core can be use - currently HSUSB
is enabled by default.
To enable HSIC core defconfig file should be changed.

Change-Id: I256aecd9e6dfd8bfd71719c32beed8b24225e11c
Signed-off-by: Ofir Cohen <ofirc@codeaurora.org>
2012-01-29 09:03:19 +02:00
Linux Build Service Account
7927d50224 Merge changes I92fff75b,I9d7e536f,I418df8c3,I684da4bd into msm-3.0
* changes:
  Input: atmel_mxt_ts: Add a debugfs attribute to show all objects
  board: 8960: Add config data for mXT1386E touch controller
  input: atmel_mxt_ts: Add support for object PROCI_SHIELDLESS_T56
  input: atmel_mxt_ts: Support runtime selection of config data
2012-01-28 04:49:08 -08:00
Linux Build Service Account
58a3cd78f8 Merge "power: pm8921-charger: Allow setting -ve cool/warm temperature" into msm-3.0 2012-01-27 21:57:57 -08:00
Linux Build Service Account
cf9ddedcce Merge "slimbus: Support more than 1 clients to use a channel" into msm-3.0 2012-01-27 21:57:57 -08:00
Sagar Dharia
29f35f08b9 slimbus: Provide separate APIs to connect source and sink ports
Source and sink ports for a channel may be connected from different
clients.
Multiple sink ports and 1 source port can be connected to a channel.
Ports are freed/zeroed when channel is removed.

Change-Id: I165bb9db4fb43a9a884ea14ffed08f8d11b65c39
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>
2012-01-27 14:57:41 -07:00
Jordan Crouse
4df70a254d base: genlock: Remove genlock_release_lock and associated ioctl
Allowing a lock to be asynchronously released while a handle
was still active turned out to be too dangerous to use in a
multi-threaded environment and it served no pratical
purpose anyway.  Handles now hold an attached lock until they
are destroyed.

CRs-fixed: 333141
Change-Id: Ic0dedbad8050ff01927ddb165c65a939bf297c10
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
2012-01-27 09:44:39 -07:00
Jing Lin
dc4413c370 input: atmel_mxt_ts: Support runtime selection of config data
Add support for dynamic configuration data update if the target can
support more than one Atmel chip. Platform data contains an array of
supported config data along with family ID, variant ID and firmware
version. Driver searches for matching family ID, variant ID and
firmware version, and uses the corresponding config data to program.

Change-Id: I684da4bdef56a3445acab3bb8fe47dd5279bebe5
Signed-off-by: Jing Lin <jinglin@codeaurora.org>
2012-01-27 08:40:53 -08:00
Linux Build Service Account
d2064cfab2 Merge "diag: Add support for 9615, 8260A, and 8974 targets" into msm-3.0 2012-01-26 16:02:11 -08:00
Linux Build Service Account
530d7b0643 Merge "mfd: pm8921-core: Add support for PMIC PM8917 chip" into msm-3.0 2012-01-26 16:02:11 -08:00
Abhijeet Dharmapurikar
bc38f636fa power: pm8921-charger: Allow setting -ve cool/warm temperature
The current code assumes that the cool or warm battery temperature
can only be +ve numbers. Remove this restriction by allowing -ve
temperature settings.

Change-Id: I3c54b854a8fdf934efcf1ff21b36c7a0f763692a
CRs-Fixed: 320660
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2012-01-26 12:10:52 -08:00
Sagar Dharia
4ec2ff4a32 slimbus: Support more than 1 clients to use a channel
There is a possibility that 2 or more clients can use the same
channel, one as producer and the other(s) as sink.
The slim_query_ch API gives the ability for a client to specify
channel number it needs to use.
Reference counting is used to make sure channel is not deallocated
until the last caller deallocates it.
Another counter (def) is used to keep track of channel definition and
removal. Channel definition is sent to hardware when the producer
and/or consumer(s) connects ports to the channel. Channel is only
removed when all clients indicate they want to remove channel.

Change-Id: Ic5084680419e16ee238d2e62c02e5430170b387d
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>
2012-01-26 11:24:09 -07:00
Paolo Bonzini
8bd8442fec block: fail SCSI passthrough ioctls on partition devices
commit 0bfc96cb77224736dfa35c3c555d37b3646ef35e upstream.

[ Changes with respect to 3.3: return -ENOTTY from scsi_verify_blk_ioctl
  and -ENOIOCTLCMD from sd_compat_ioctl. ]

Linux allows executing the SG_IO ioctl on a partition or LVM volume, and
will pass the command to the underlying block device.  This is
well-known, but it is also a large security problem when (via Unix
permissions, ACLs, SELinux or a combination thereof) a program or user
needs to be granted access only to part of the disk.

This patch lets partitions forward a small set of harmless ioctls;
others are logged with printk so that we can see which ioctls are
actually sent.  In my tests only CDROM_GET_CAPABILITY actually occurred.
Of course it was being sent to a (partition on a) hard disk, so it would
have failed with ENOTTY and the patch isn't changing anything in
practice.  Still, I'm treating it specially to avoid spamming the logs.

In principle, this restriction should include programs running with
CAP_SYS_RAWIO.  If for example I let a program access /dev/sda2 and
/dev/sdb, it still should not be able to read/write outside the
boundaries of /dev/sda2 independent of the capabilities.  However, for
now programs with CAP_SYS_RAWIO will still be allowed to send the
ioctls.  Their actions will still be logged.

This patch does not affect the non-libata IDE driver.  That driver
however already tests for bd != bd->bd_contains before issuing some
ioctl; it could be restricted further to forbid these ioctls even for
programs running with CAP_SYS_ADMIN/CAP_SYS_RAWIO.

Cc: linux-scsi@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>
Cc: James Bottomley <JBottomley@parallels.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
[ Make it also print the command name when warning - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2012-01-25 17:24:54 -08:00
Paolo Bonzini
3b8373b85c block: add and use scsi_blk_cmd_ioctl
commit 577ebb374c78314ac4617242f509e2f5e7156649 upstream.

Introduce a wrapper around scsi_cmd_ioctl that takes a block device.

The function will then be enhanced to detect partition block devices
and, in that case, subject the ioctls to whitelisting.

Cc: linux-scsi@vger.kernel.org
Cc: Jens Axboe <axboe@kernel.dk>
Cc: James Bottomley <JBottomley@parallels.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2012-01-25 17:24:54 -08:00
Miklos Szeredi
8039a47e67 fix shrink_dcache_parent() livelock
commit eaf5f9073533cde21c7121c136f1c3f072d9cf59 upstream.

Two (or more) concurrent calls of shrink_dcache_parent() on the same dentry may
cause shrink_dcache_parent() to loop forever.

Here's what appears to happen:

1 - CPU0: select_parent(P) finds C and puts it on dispose list, returns 1

2 - CPU1: select_parent(P) locks P->d_lock

3 - CPU0: shrink_dentry_list() locks C->d_lock
   dentry_kill(C) tries to lock P->d_lock but fails, unlocks C->d_lock

4 - CPU1: select_parent(P) locks C->d_lock,
         moves C from dispose list being processed on CPU0 to the new
dispose list, returns 1

5 - CPU0: shrink_dentry_list() finds dispose list empty, returns

6 - Goto 2 with CPU0 and CPU1 switched

Basically select_parent() steals the dentry from shrink_dentry_list() and thinks
it found a new one, causing shrink_dentry_list() to think it's making progress
and loop over and over.

One way to trigger this is to make udev calls stat() on the sysfs file while it
is going away.

Having a file in /lib/udev/rules.d/ with only this one rule seems to the trick:

ATTR{vendor}=="0x8086", ATTR{device}=="0x10ca", ENV{PCI_SLOT_NAME}="%k", ENV{MATCHADDR}="$attr{address}", RUN+="/bin/true"

Then execute the following loop:

while true; do
        echo -bond0 > /sys/class/net/bonding_masters
        echo +bond0 > /sys/class/net/bonding_masters
        echo -bond1 > /sys/class/net/bonding_masters
        echo +bond1 > /sys/class/net/bonding_masters
done

One fix would be to check all callers and prevent concurrent calls to
shrink_dcache_parent().  But I think a better solution is to stop the
stealing behavior.

This patch adds a new dentry flag that is set when the dentry is added to the
dispose list.  The flag is cleared in dentry_lru_del() in case the dentry gets a
new reference just before being pruned.

If the dentry has this flag, select_parent() will skip it and let
shrink_dentry_list() retry pruning it.  With select_parent() skipping those
dentries there will not be the appearance of progress (new dentries found) when
there is none, hence shrink_dcache_parent() will not loop forever.

Set the flag is also set in prune_dcache_sb() for consistency as suggested by
Linus.

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2012-01-25 17:24:51 -08:00
J. Bruce Fields
7df22768c0 svcrpc: destroy server sockets all at once
commit 2fefb8a09e7ed251ae8996e0c69066e74c5aa560 upstream.

There's no reason I can see that we need to call sv_shutdown between
closing the two lists of sockets.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2012-01-25 17:24:48 -08:00
Dan Carpenter
065449fd56 V4L/DVB: v4l2-ioctl: integer overflow in video_usercopy()
commit 6c06108be53ca5e94d8b0e93883d534dd9079646 upstream.

If ctrls->count is too high the multiplication could overflow and
array_size would be lower than expected.  Mauro and Hans Verkuil
suggested that we cap it at 1024.  That comes from the maximum
number of controls with lots of room for expantion.

$ grep V4L2_CID include/linux/videodev2.h | wc -l
211

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2012-01-25 17:24:46 -08:00
KAMEZAWA Hiroyuki
ea1c627781 memcg: add mem_cgroup_replace_page_cache() to fix LRU issue
commit ab936cbcd02072a34b60d268f94440fd5cf1970b upstream.

Commit ef6a3c6311 ("mm: add replace_page_cache_page() function") added a
function replace_page_cache_page().  This function replaces a page in the
radix-tree with a new page.  WHen doing this, memory cgroup needs to fix
up the accounting information.  memcg need to check PCG_USED bit etc.

In some(many?) cases, 'newpage' is on LRU before calling
replace_page_cache().  So, memcg's LRU accounting information should be
fixed, too.

This patch adds mem_cgroup_replace_page_cache() and removes the old hooks.
 In that function, old pages will be unaccounted without touching
res_counter and new page will be accounted to the memcg (of old page).
WHen overwriting pc->mem_cgroup of newpage, take zone->lru_lock and avoid
races with LRU handling.

Background:
  replace_page_cache_page() is called by FUSE code in its splice() handling.
  Here, 'newpage' is replacing oldpage but this newpage is not a newly allocated
  page and may be on LRU. LRU mis-accounting will be critical for memory cgroup
  because rmdir() checks the whole LRU is empty and there is no account leak.
  If a page is on the other LRU than it should be, rmdir() will fail.

This bug was added in March 2011, but no bug report yet.  I guess there
are not many people who use memcg and FUSE at the same time with upstream
kernels.

The result of this bug is that admin cannot destroy a memcg because of
account leak.  So, no panic, no deadlock.  And, even if an active cgroup
exist, umount can succseed.  So no problem at shutdown.

Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Michal Hocko <mhocko@suse.cz>
Cc: Miklos Szeredi <mszeredi@suse.cz>
Cc: Hugh Dickins <hughd@google.com>
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@suse.de>
2012-01-25 17:24:43 -08:00
Alex Williamson
58f98e86f9 PCI: Fix PCI_EXP_TYPE_RC_EC value
commit 1830ea91c20b06608f7cdb2455ce05ba834b3214 upstream.

Spec shows this as 1010b = 0xa

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2012-01-25 17:24:38 -08:00
Shalabh Jain
10f5f4351b diag: Add support for 9615, 8260A, and 8974 targets
Also re-structures the code so that adding new target
support will be easier.

Change-Id: I5ad9100932da5454afbf1c996d71a6338dc59dbb
Signed-off-by: Shalabh Jain <shalabhj@codeaurora.org>
2012-01-25 15:34:38 -08:00
Willie Ruan
5106035d9a mfd: pm8921-core: Add support for PMIC PM8917 chip
The PMIC PM8917 chip is very similar to the PM8921 chip. Modify
the pm8921-core driver so that it can also handle PM8917 chip
which has different number of gpios and mpps, and no LPG/PWM,
no LEDs and no vibrator.

Change-Id: I252adc2ddc4bcd9bb8b8fb5113444356ba7c969e
Signed-off-by: Willie Ruan <wruan@codeaurora.org>
2012-01-25 14:21:54 -08:00
Linux Build Service Account
240fc0f57b Merge changes I8a26c5d2,Ia93a8940,Ibc48a0f7 into msm-3.0
* changes:
  board: 7x30: Specify the correct min/max touch coordinates
  input: tsc2007: Specify max/min coordinates from platform data
  board: 7x30: Specify the correct min/max touchscreen coordinates
2012-01-25 12:21:14 -08:00
Linux Build Service Account
0b6f5655dd Merge "ssbi: add remote spinlock support" into msm-3.0 2012-01-25 04:54:51 -08:00
Linux Build Service Account
4cb59a8ebf Merge "msm: board-9615: Return result from vbus power routine" into msm-3.0 2012-01-25 04:54:51 -08:00
Linux Build Service Account
750754a8ab Merge "video: msm: Adding CSC support for other MDP blocks" into msm-3.0 2012-01-25 02:20:43 -08:00
Anirudh Ghayal
482ccccd1f input: tsc2007: Specify max/min coordinates from platform data
Provides flexibility to specify max/min x and y coordinates from
platform data. Useful in cases where the TS controller reports
coordinates at an offset from the predefined min/max values
(0 and 4096 respectively).

Change-Id: Ia93a8940078aa5960d1d900ac56b0b3354c82e40
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
2012-01-25 13:48:04 +05:30
Mayank Rana
8549e63277 msm: board-9615: Return result from vbus power routine
USB OTG driver maintains the state of VBUS using vbus_is_online flag
for pdata based vbus power routine. Hence remove the used vbus_is_online
flag here and return the result of VBUS power sequence to update the
vbus_is_online flag in OTG driver.

Change-Id: I8bea42d5ebc27fab6fc2ae8a0b9fb58bdbaf854a
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
2012-01-25 09:38:43 +05:30
Lynus Vaz
fdecd1e91f msm: idle_stats: Permit GPU DCVS daemon to configure number of samples
Add a struct member to allow GPU DCVS daemon to configure the number
of samples collected at runtime. This increases the responsiveness
of the daemon in low fps use cases.

Change-Id: Ibbf17c8a81c9bd819d96c16af2f17bc60c999df9
Signed-off-by: Lynus Vaz <lvaz@codeaurora.org>
2012-01-24 13:32:27 +05:30
Carl Vanderlip
fa1de67dba video: msm: Adding CSC support for other MDP blocks
Adding support for VG1, VG2, DMA_S and Overlay Mixer 1.

Change-Id: I95a5832a70fd893970e82dadcec1e11ed608d79c
Signed-off-by: Carl Vanderlip <carlv@codeaurora.org>
2012-01-23 13:23:12 -08:00