[PATCH 0/2] staging: tidspbridge: fix dma race condition

From: Felipe Contreras
Date: Mon Dec 20 2010 - 09:26:40 EST


Hi,

I found a race condition that triggers a kernel panic. It's explained in the
following patches, but basically the map_obj that contains the user pages is
being destroyed while doing a DMA operation (which requires that map_obj).

My solution is to convert the spinlock to a semaphore, and exten the area
protected (which might sleep).

I have not tested these specific patches; they have been forward ported. But in
a similar branch, they solve the issue.

Felipe Contreras (2):
staging: tidspbridge: convert dmm_map_lock to sema
staging: tidspbridge: extend dmm_map semaphore

.../staging/tidspbridge/include/dspbridge/drv.h | 2 +-
drivers/staging/tidspbridge/rmgr/drv_interface.c | 2 +-
drivers/staging/tidspbridge/rmgr/proc.c | 23 +++++++++++++-------
3 files changed, 17 insertions(+), 10 deletions(-)

--
1.7.3.3

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