[PATCH 00/12] exynos4-is driver fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch series includes fixes for several issues found during
testing all exynos4-is device drivers build as modules. The exynos4-is
build with all sub-drivers as 'M' is hopefully now free of all serious
issues, but one. I.e. the requirement now is to have all sub-device
drivers, including the sensor subdev drivers, built as modules.

The problem when some of the sub-device drivers is statically linked
is that the media links of a media entity just unregistered from
the media device are not fully cleaned up in the media controller
API. This means other entities can have dangling pointers to the links
array owned by en entity just removed and freed. The problem is not
existent when all media entites are registered/unregistred together.
In such a case it doesn't hurt that media_entity_cleanup() function
just frees the links array.

I will post a separate RFC patch to address this issue, since it is
not trivial where the link references should be removed from all
involved media entities.

I verified that adding a call to media_entity_remove_links() as in
patch [1] to the v4l2_sdubdev_unregister_function() eliminates all
weird crashes present before, when inserting/removing all the host
driver modules while the sensor driver stays loaded.

[1] http://git.linuxtv.org/snawrocki/samsung.git/commitdiff/f7007880a37c28beef845aa0787696aa8cead1cd

Sylwester Nawrocki (12):
  s5c73m3: Fix remove() callback to free requested resources
  s5c73m3: Add missing subdev .unregistered callback
  exynos4-is: Remove redundant MODULE_DEVICE_TABLE entries
  exynos4-is: Fix initialization of subdev 'flags' field
  exynos4-is: Fix regulator/gpio resource releasing on the driver
    removal
  exynos4-is: Don't overwrite subdevdata in the fimc-is sensor driver
  exynos4-is: Unregister fimc-is subdevs from the media device properly
  exynos4-is: Set fimc-lite subdev subdev owner module
  exynos4-is: Remove redundant module_put() for MIPI-CSIS module
  exynos4-is: Remove debugfs entries properly
  exynos4-is: Change function call order in fimc_is_module_exit()
  exynos4-is: Fix runtime PM handling on fimc-is probe error path

 drivers/media/i2c/s5c73m3/s5c73m3-core.c           |   21 +++++++++---
 drivers/media/platform/exynos4-is/fimc-capture.c   |    2 +-
 drivers/media/platform/exynos4-is/fimc-is-i2c.c    |    3 --
 drivers/media/platform/exynos4-is/fimc-is-sensor.c |   35 +++++---------------
 drivers/media/platform/exynos4-is/fimc-is-sensor.h |    6 ++++
 drivers/media/platform/exynos4-is/fimc-is.c        |   15 ++++-----
 drivers/media/platform/exynos4-is/fimc-isp.c       |    2 +-
 drivers/media/platform/exynos4-is/fimc-lite.c      |    3 +-
 drivers/media/platform/exynos4-is/media-dev.c      |    5 ++-
 9 files changed, 46 insertions(+), 46 deletions(-)

--
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux