On Fri, 2006-08-11 at 08:58 -0400, Dmitry Torokhov wrote:
> On 8/11/06, Dmitry Torokhov <dtor@xxxxxxxxxxxxx> wrote:
> > Backlight: convert to use mutexes instead of semaphores
> >
>
> Apparently I missed that several drivers also use bd->sem so they need
> to be converted too... But what is it with the drivers:
>
> static void aty128_bl_set_power(struct fb_info *info, int power)
> {
> mutex_lock(&info->bl_mutex);
> up(&info->bl_dev->sem);
> info->bl_dev->props->power = power;
> __aty128_bl_update_status(info->bl_dev);
> down(&info->bl_dev->sem);
> mutex_unlock(&info->bl_mutex);
> }
>
> Why we are doing up() before down()??? And it is in almost every
> driver that uses backlight... Do I need more coffee? [CC-ing bunch of
> people trying to get an answer...]
It looks totally wrong.
In the archives, there are a number of comments from me questioning
whether that driver needs to touch bl_dev->sem anyway (esp. given the
mutex as well). I never did find out what it was trying to protect
against...