[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5108378F.80003@ahsoftware.de>
Date: Tue, 29 Jan 2013 21:56:47 +0100
From: Alexander Holler <holler@...oftware.de>
To: Andrew Morton <akpm@...ux-foundation.org>
CC: linux-kernel@...r.kernel.org, linux-fbdev@...r.kernel.org,
Florian Tobias Schandinat <FlorianSchandinat@....de>,
Bernie Thompson <bernie@...gable.com>,
Steve Glendinning <steve.glendinning@...well.net>,
stable@...r.kernel.org
Subject: Re: [PATCH 2/3 v2] fb: udlfb: fix hang at disconnect
Am 29.01.2013 21:35, schrieb Alexander Holler:
>
> So, if the above down_timeout_killable() is only down_interruptible(),
> as in kernel 3.7.5, the box would not shutdown afterwards, because on
> shutdown no signal would be send to that kernel-thread which called
> dlfb_free_urb_list().
>
> A last note: dlfb_usb_disconnect() (thus dlfb_free_urb_list()) isn't
> called on shutdown if the device would still be connected. So the
> problem only might happen, if the screen will be disconnected before
> shutdown (and an urb gets missed). So the subject of my patch is
> correct. ;)
>
> </monologue>
Hmm, wrong, sorry, I still have something to add: As no signal arrives
at all, v1 of that patch is enough and the implementation of
down_timeout_killable() isn't necessary at all.
If there is a chance that the patch would be Acked-by by someone, I
would made a v3, replacing
+ ret = down_timeout(&dev->urbs.limit_sem, GET_URB_TIMEOUT);
in v1 with
+ ret = down_timeout(&dev->urbs.limit_sem, FREE_URB_TIMEOUT);
as this seems to be what it should be.
Regards,
Alexander
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists