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

Bug#619827: linux-source-2.6.38: [linux-dvb] cx88-blackbird broken (since 2.6.37)



On 02.04.2011 17:18, Ben Hutchings wrote:
[...]
I'm not going to spend more time looking at this in detail. Please let
us know when a complete fix has been accepted upstream.

Ben.

Just for clarification, what I think is going wrong in cx88-mpeg.c, it's very simple, see the comments ...

static int cx8802_request_release(struct cx8802_driver *drv)
{
	struct cx88_core *core = drv->core;

	if (drv->advise_release&&  --core->active_ref == 0) // REF COUNT MAY BECOME NEGATIVE !!!!!!
	{
		drv->advise_release(drv);
		core->active_type_id = CX88_BOARD_NONE;
		mpeg_dbg(1,"%s() Post release GPIO=%x\n", __func__, cx_read(MO_GP0_IO));
	}
	
	if(core->active_ref<0) core->active_ref=0; // THIS IS A POSSIBLE FIX !!!!!

	return 0;
}

please review this simple fix!
regards
Andi






Reply to: