summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* staging/mei: propagate error codes up in the write flowTomas Winkler2012-03-146-80/+61
| | | | | | | | | | | | | | | Change mei_write_message's return type from bool to int to enable propagation of the error code up to caller functions. The function now returns -EIO when low level write fails and 0 on success. A similar change is done in intermediate caller functions: mei_send_flow_control, mei_connect, and mei_disconnect This makes code more alike to typical Linux kernel error handling. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* drivers:staging:mei Fix some typos in staging/meiJustin P. Mattock2012-03-139-15/+15
| | | | | | | | The below patch fixes some typos in drivers/staging/mei/* that I have found while doing a little bit of reading. Signed-off-by: Justin P. Mattock <justinmattock@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: drm/omap: use current time for page-flip eventRob Clark2012-03-131-0/+10
| | | | | | | | | | | Because we don't have vblank hooked up via drm_irq (which is a bit awkward due to separation between omapdss (which knows the irq #) and omapdrm, for now use gettimeofday to have a semi-sane timestamp in the page-flip event. Otherwise apps like weston drm compositor, which use the timestamp in it's animations, get highly confused. Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: drm/omap: send page-flip event after endwinRob Clark2012-03-133-18/+67
| | | | | | | | | The endwin irq indicates that DSS has finished scanning out a buffer. Use this to trigger page-flip event to userspace, so this happens only *after* the previous buffer is finished. Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: drm/omap: avoid multiple planes having same z-orderRob Clark2012-03-131-1/+1
| | | | | | | | Multiple video pipes on same output with same z-order is an undefined behavior. Set a unique z-order value based on overlay number/id. Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove nldr_init() and nldr_exit()Víctor Manuel Jáquez Leal2012-03-094-62/+0
| | | | | | | | | | The dynamic loader was called by node.c with an interface. This interface was also modified to avoid the use of nldr_init() and nldr_exit(). There is not functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove ref counting in nldr.cVíctor Manuel Jáquez Leal2012-03-091-5/+2
| | | | | | | | | | | | | The nldr module has a nldr_init() and a nldr_exit() whose only purpose is to keep a reference counting which is not used at all. This patch only removes the reference count variable, but not the functions, because they are used through an interface. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove gh_init() and gh_exit()Víctor Manuel Jáquez Leal2012-03-093-30/+2
| | | | | | | | | | | | The gh module has a gh_init() and a gh_exit(), but they don't do anything, they are just noops. This patch removes these functions. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: simplify mgr_init()Víctor Manuel Jáquez Leal2012-03-091-7/+2
| | | | | | | No functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove dev_init() and dev_exit()Víctor Manuel Jáquez Leal2012-03-093-75/+3
| | | | | | | | | | | | The dev module has a dev_init() and a dev_exit() whose only purpose is to keep a reference counting which is not used at all. This patch removes these functions and the reference count variable. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove dmm_init() and dmm_exit()Víctor Manuel Jáquez Leal2012-03-093-42/+0
| | | | | | | | | | | | The dmm module has a dmm_init() and a dmm_exit() whose only purpose is to keep a reference counting which is not used at all. This patch removes these functions and the reference count variable. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove cmm_init() and cmm_exit()Víctor Manuel Jáquez Leal2012-03-093-78/+4
| | | | | | | | | | | | The cmm module has a cmm_init() and a cmm_exit() whose only purpose is to keep a reference counting which is not used at all. This patch removes these functions and the reference count variable. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove io_init() and io_exit()Víctor Manuel Jáquez Leal2012-03-093-65/+2
| | | | | | | | | | | | The io module has a io_init() and a io_exit() whose only purpose is to keep a reference counting which is not used at all. This patch removes these functions and the reference count variable. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove msg_mod_init() and msg_exit()Víctor Manuel Jáquez Leal2012-03-093-55/+2
| | | | | | | | | | | | The msg module has a msg_mod_init() and a msg_exit() whose only purpose is to keep a reference counting which is not used at all. This patch removes these functions and the reference count variable. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove chnl_init() and chnl_exit()Víctor Manuel Jáquez Leal2012-03-093-64/+2
| | | | | | | | | | | | The chnl module has a chnl_init() and a chnl_exit() whose only purpose is to keep a reference counting which is not used at all. This patch removes these functions and the reference count variable. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove rmm_init() and rmm_exit()Víctor Manuel Jáquez Leal2012-03-094-59/+2
| | | | | | | | | | | | The rmm module has a rmm_init() and a rmm_exit() whose only purpose is to keep a reference counting which is not used at all. This patch removes these functions and the reference count variable. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove strm_init() and strm_exit()Víctor Manuel Jáquez Leal2012-03-093-71/+2
| | | | | | | | | | | | The strm module has a strm_init() and a strm_exit() whose only purpose is to keep a reference counting which is not used at all. This patch removes these functions and the reference count variable. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove disp_init() and disp_exit()Víctor Manuel Jáquez Leal2012-03-093-62/+1
| | | | | | | | | | | | The disp module has a disp_init() and a disp_exit() whose only purpose is to keep a reference counting which is not used at all. This patch removes these functions and the reference count variable. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove node_init() and node_exit()Víctor Manuel Jáquez Leal2012-03-094-72/+1
| | | | | | | | | | | | The node module has a node_init() and a node_exit() whose only purpose is to keep a reference counting which is not used at all. This patch removes these functions and the reference count variable. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove proc_init() and proc_exit()Víctor Manuel Jáquez Leal2012-03-093-63/+2
| | | | | | | | | | | | The proc module has a proc_init() and a proc_exit() whose only purpose is to keep a reference counting which is not used at all. This patch removes these functions and the reference count variable. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove cod_init() and cod_exit()Víctor Manuel Jáquez Leal2012-03-094-79/+3
| | | | | | | | | | | | The cod module has a cod_init() and a cod_exit() whose only purpose is to keep a reference counting which is not used at all. This patch removes these functions and the reference count variable. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: tidspbridge: remove drv_init() and drv_exit()Víctor Manuel Jáquez Leal2012-03-093-55/+2
| | | | | | | | | | | | The drv module has a drv_init() and a drv_exit() whose only purpose is to keep a reference counting which is not used at all. This patch removes these functions and the reference count variable. There is no functional changes. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* Staging: android: binder: Fix use-after-free bugArve Hjønnevåg2012-03-091-1/+4
| | | | | | | | | | | | | binder_update_page_range could read freed memory if the vma of the selected process was freed right before the check that the vma belongs to the mm struct it just locked. If the vm_mm pointer in that freed vma struct had also been rewritten with a value that matched the locked mm struct, then the code would proceed and possibly modify the freed vma. Signed-off-by: Arve Hjønnevåg <arve@android.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: ram_console: Fix section mismatchesStephen Boyd2012-03-091-5/+2
| | | | | | | | | | | | | | | | | | | | | WARNING: vmlinux.o(.text+0xfcf6e): Section mismatch in reference from the function ram_console_driver_probe() to the function .init.text:persistent_ram_init_ringbuffer() The function ram_console_driver_probe() references the function __init persistent_ram_init_ringbuffer(). This is often because ram_console_driver_probe lacks a __init annotation or the annotation of persistent_ram_init_ringbuffer is wrong. Move this driver to platform_driver_probe() because ram console devices aren't going to be added and removed at runtime. Also shorten the probe function name since driver is redundant and makes the function name long. Cc: Android Kernel Team <kernel-team@android.com> Cc: John Stultz <john.stultz@linaro.org> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging/comedi/drivers fix spelling errorsAlexandru Guduleasa2012-03-091-21/+21
| | | | | | | | | | | | Fix the following spelling errors: inital -> initial continous -> continuous aquisition -> acquisition aquisitions -> acquisitions immidiately -> immediately Signed-off-by: Alexandru Guduleasa <alexandru.guduleasa@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: crystalhd: Fix typo in crystalhd_hw.cMasanari Iida2012-03-081-1/+1
| | | | | | | | Correct spelling "interal" to "internal" in drivers/staging/crystalhd/crystalhd_hw.c Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: android: ram_console: honor dmesg_restrictNick Kralevich2012-03-081-0/+3
| | | | | | | | | | | | | | | | | The Linux kernel has a setting called dmesg_restrict. When true, only processes with CAP_SYSLOG can view the kernel dmesg logs. This helps prevent leaking of kernel information into user space. On Android, it's possible to bypass these restrictions by viewing /proc/last_kmsg. This change makes /proc/last_kmsg require the same permissions as dmesg. CC: Android Kernel Team <kernel-team@android.com> Signed-off-by: Nick Kralevich <nnk@google.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: android: ram_console: fix crash in ram_console_late_initColin Cross2012-03-081-0/+3
| | | | | | | | | | | If the persistent ram buffer is not available, ram_console_late_init would crash when dereferencing ram_console_zone. Return early if ram console was not initialized. CC: Android Kernel Team <kernel-team@android.com> Signed-off-by: Colin Cross <ccross@android.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: android: persistent_ram: add notrace to persistent_ram_writeColin Cross2012-03-081-4/+4
| | | | | | | | | | | | Add the notrace attribute to persistent_ram_write and the non-ecc functions that it calls to allow persistent_ram to be used for ftracing (only when ecc is disabled). CC: Greg KH <gregkh@linuxfoundation.org> CC: Android Kernel Team <kernel-team@android.com> Signed-off-by: Colin Cross <ccross@android.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: android: persistent_ram: make persistent_ram_write atomicColin Cross2012-03-081-39/+101
| | | | | | | | | | | | | Allow persistent_ram_write to be called on multiple cpus at the same time, as long as ecc is not in use. Uses atomics for the buffer->start and buffer->size counters. [jstultz: Fix up some pr_info casting issues on 64bit] CC: Greg KH <gregkh@linuxfoundation.org> CC: Android Kernel Team <kernel-team@android.com> Signed-off-by: Colin Cross <ccross@android.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: android: persistent_ram: handle reserving and mapping memoryColin Cross2012-03-083-61/+144
| | | | | | | | | | | | | | | | | | | | | | | | | Replace the ioremapped memory passed in from the drivers with a memblock_reserve and vmap. Adds a new function, persistent_ram_early_init, designed to be called from the machine init_early callback, that calls memblock_remove and saves the provided persistent ram area layout. Drivers only pass in their struct device * and ecc settings. Locating and mapping the memory is now handled entirely within persistent_ram. Also, convert ram_console to the new persistent_ram_init parameters that only take a struct device * and ecc settings. [jstultz: Fix pr_info casting issues on 64bit, folded two patches as the build breaks if they are apart. Also replaced phys_to_page() w/ pfn_to_page(addr>>PAGE_SHIFT), as phys_to_page is only on a few arches.] CC: Greg KH <gregkh@linuxfoundation.org> CC: Android Kernel Team <kernel-team@android.com> Signed-off-by: Colin Cross <ccross@android.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: android: persistent_ram: refactor ecc supportColin Cross2012-03-084-147/+143
| | | | | | | | | | | | | | Remove CONFIG_ANDROID_RAM_CONSOLE_ERROR_CORRECTION and related #ifdefs. Also allow persistent ram zones without ecc enabled. For some use cases, like the data portion of the upcoming persistent_vars patches, or a persistent ftrace ringbuffer, ecc on every update is too expensive. CC: Greg KH <gregkh@linuxfoundation.org> CC: Android Kernel Team <kernel-team@android.com> Signed-off-by: Colin Cross <ccross@android.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: android: ram_console: split out persistent ramColin Cross2012-03-085-274/+396
| | | | | | | | | | | | | | | | | | | | | Split ram_console into two halves. persistent_ram is a set of apis that handle a block of memory that does not get erased across a reboot. It provides functions to fill it as a single buffer or a ring buffer, and to extract the old data after a reboot. It handles ecc on the data to correct bit errors introduced during reboot. ram_console is now a small wrapper around persistent_ram that feeds console data into the ringbuffer, and exports the old data to /proc/last_kmsg after a reboot. [jstultz: Moved persistent_ram.h to staging dir] CC: Greg KH <gregkh@linuxfoundation.org> CC: Android Kernel Team <kernel-team@android.com> Signed-off-by: Colin Cross <ccross@android.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: android: ram_console: drop verbose ram_console supportColin Cross2012-03-072-8/+0
| | | | | | | | | Equivalent functionality can be obtained with loglevel=15 CC: Android Kernel Team <kernel-team@android.com> Signed-off-by: Colin Cross <ccross@android.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: android: ram_console: drop early buffer supportColin Cross2012-03-072-45/+0
| | | | | | | | | | | | Early ramconsole is not very useful, an early crash will prevent getting the logged data out on the next boot, and CONFIG_DEBUG_LL=y will get the same information. Drop it to simplify a future refactoring. CC: Android Kernel Team <kernel-team@android.com> Signed-off-by: Colin Cross <ccross@android.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: android: ram_console: move footer stringsColin Cross2012-03-071-47/+68
| | | | | | | | | | | Don't store the bootinfo string and the ecc status string with the recovered old log data. This will simplify refactoring the persistent ram code out of the ram console code later. CC: Android Kernel Team <kernel-team@android.com> Signed-off-by: Colin Cross <ccross@android.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: android: ram_console: set CON_ANYTIME console flagDima Zavin2012-03-071-1/+1
| | | | | | | | | | | We want to ensure that we get all the console messages, even ones that occur while the printing CPU is not yet online. [jstultz: tweaked commit subject line] CC: Android Kernel Team <kernel-team@android.com> Signed-off-by: Dima Zavin <dima@android.com> Signed-off-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging/mei: don't use read buffer for writingTomas Winkler2012-03-071-0/+1
| | | | | | | | | | In mei_irq_thread_read_bus_message we reused mei_hdr allocated on read buffer to write the stop message. There is no bug associated with this but for code clarity we use write buffer also for message header. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: drm/omap: mmap of tiled buffers with stride >4kbRob Clark2012-03-071-27/+59
| | | | | | | | Deal with the case of buffers with virtual stride larger than one page in fault_2d(). Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: drm/omap: Get DMM resources from hwmodAndy Gross2012-03-074-36/+68
| | | | | | | | | | | | | | | | | | This patch splits the DMM off into a separate sub-device, in order to utilize the platform device information that was created as part of the OMAP hwmod entry for the DMM. The driver probe function queries the iomem resource and IRQ using standard platform_get functions. The OMAP DRM driver now calls the platform_driver_register() function for the subordinate DMM driver inside its probe function. This guarantees the required order for the DMM and ensures the DMM resources are available for use by the DRM driver. Signed-off-by: Andy Gross <andy.gross@ti.com> Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: drm/omap: Validate debugfs deviceAndy Gross2012-03-071-2/+10
| | | | | | | | | Added check for valid device information before dumping debugfs information. Signed-off-by: Andy Gross <andy.gross@ti.com> Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: drm/omap: Disable DMM debugfs for OMAP3Andy Gross2012-03-072-8/+13
| | | | | | | | | | | OMAP3 does not contain a DMM/Tiler block. As such, we should not be exposing any DMM debugfs entries on OMAP3 platforms. Added inline helper function to verify existence of DMM. Signed-off-by: Andy Gross <andy.gross@ti.com> Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: drm/omap: debugfs for object and fb trackingRob Clark2012-03-075-2/+188
| | | | | | | Add some additional debugfs file to aid in tracking buffer usage. Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: drm/omap: defer unpin until scanout completesRob Clark2012-03-073-44/+181
| | | | | | | | | | | | | When flipping, defer unpinning until scanout completes, as indicated by the appropriate END_WIN irq. This also re-organizes things a bit, in replacing omap_fb_{pin,unpin} with omap_fb_replace(), to make it easier to add support for scanout synchronized DMM refill mode (flipping by just reprogramming DMM synchronized with DSS scanout). Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: drm/omap: some minor fb cleanupsRob Clark2012-03-071-4/+4
| | | | | | | | Now that 'struct drm_plane' has a pixel_format field, use that. And fix a minor typo. Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: drm/omap: call omap_gem_roll() in non-atomic ctxRob Clark2012-03-072-16/+24
| | | | | | | | | If fbcon calls us from atomic context, push the work off to the workqueue to avoid calling into the gem/dmm code in an atomic context. Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: drm/omap: add a workqueueRob Clark2012-03-072-0/+10
| | | | | | | | | | | Add a workqueue for omapdrm driver, which is needed for at least a couple things currently: (1) moving omap_gem_roll() to a non-atomic context, (2) synchronizing page flips w/ DSS scanout related irq's (in particular not unmapping previous buffer until DSS finishes scanout). Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: drm/omap: get supported color formats from ovlRob Clark2012-03-073-20/+23
| | | | | | | | Get the supported formats for a plane from ovl's supported_modes bitmask. Signed-off-by: Rob Clark <rob@ti.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging:iio:tsl2563 rewrite probe error handlingGrant Grundler2012-03-071-13/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tsl2563 probe function has two minor issues with it's error handling paths: 1) it is silent (did not report errors to dmesg) 2) did not return failure code (mixed up use of ret and err) and two major issues: 3) goto fail2 would corrupt a free memory pool ("double free") 4) device registration failure did NOT cancel/flush delayed work. (and thus dereference a freed data structure later) The "double free" is subtle and was introduced with this change: Author: Jonathan Cameron <jic23@cam.ac.uk> Date: Mon Apr 18 12:58:55 2011 +0100 staging:iio:tsl2563 take advantage of new iio_device_allocate private data. Originally, chip was allocated seperately. Now it's appended to the indio_dev by iio_allocate_device(sizeof(*chip)). So we only need one kfree call as well (in iio_free_device()). Gory details of tracking this down are here: http://crosbug.com/26819 Despite iio_device_registration failing, system can at least now boot. Will follow up with a fix to "double register : in_intensity_both_raw" error that is included in the bug report. Signed-off-by: Grant Grundler <grundler@chromium.org> Acked-by: Jonathan Cameron <jic23@kernel.org> Reviewed-by: Bryan Freed <bfreed@chromium.org> Reviewed-by: Benson Leung <bleung@chromium.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
* staging: r8712u: Fix Smatch warningLarry Finger2012-03-071-4/+4
| | | | | | | | | | | | | | | | The patch 2080913e017a: "staging: r8712u: Fix regression caused by commit 8c213fa" from Feb 25, 2012, leads to the following Smatch complaint: drivers/staging/rtl8712/usb_intf.c:629 r871xu_dev_remove() warn: variable dereferenced before check 'padapter' (see line 625) The fix is to move the new statements inside the block where padapter is not NULL. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
OpenPOWER on IntegriCloud