Re: [PATCH 1/3] nouveau: Do not BUG_ON(!spin_is_locked()) on UP

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

 



Hi Greg, stable team,

Please apply this patch to stable (3.18 and 3.17).

It is commit ff4c0d5213b015e60aa87c1352604f10ba9c3e12 in linus's tree:
  http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=ff4c0d5213b015e60aa87c1352604f10ba9c3e12


Thanks,
Bruno

On Sun, 21 December 2014 Bruno Prémont wrote:
> On !SMP systems spinlocks do not exist. Thus checking of they
> are active will always fail.
> 
> Use
>   assert_spin_locked(lock);
> instead of
>   BUG_ON(!spin_is_locked(lock));
> to not BUG() on all UP systems.
> 
> Signed-off-by: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx>
> ---
> See also fdo bug #87552
> 
>  drivers/gpu/drm/nouveau/core/core/event.c  | 4 ++--
>  drivers/gpu/drm/nouveau/core/core/notify.c | 2 +-
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/nouveau/core/core/event.c b/drivers/gpu/drm/nouveau/core/core/event.c
> index ff2b434..760947e 100644
> --- a/drivers/gpu/drm/nouveau/core/core/event.c
> +++ b/drivers/gpu/drm/nouveau/core/core/event.c
> @@ -26,7 +26,7 @@
>  void
>  nvkm_event_put(struct nvkm_event *event, u32 types, int index)
>  {
> -	BUG_ON(!spin_is_locked(&event->refs_lock));
> +	assert_spin_locked(&event->refs_lock);
>  	while (types) {
>  		int type = __ffs(types); types &= ~(1 << type);
>  		if (--event->refs[index * event->types_nr + type] == 0) {
> @@ -39,7 +39,7 @@ nvkm_event_put(struct nvkm_event *event, u32 types, int index)
>  void
>  nvkm_event_get(struct nvkm_event *event, u32 types, int index)
>  {
> -	BUG_ON(!spin_is_locked(&event->refs_lock));
> +	assert_spin_locked(&event->refs_lock);
>  	while (types) {
>  		int type = __ffs(types); types &= ~(1 << type);
>  		if (++event->refs[index * event->types_nr + type] == 1) {
> diff --git a/drivers/gpu/drm/nouveau/core/core/notify.c b/drivers/gpu/drm/nouveau/core/core/notify.c
> index d1bcde5..839a325 100644
> --- a/drivers/gpu/drm/nouveau/core/core/notify.c
> +++ b/drivers/gpu/drm/nouveau/core/core/notify.c
> @@ -98,7 +98,7 @@ nvkm_notify_send(struct nvkm_notify *notify, void *data, u32 size)
>  	struct nvkm_event *event = notify->event;
>  	unsigned long flags;
>  
> -	BUG_ON(!spin_is_locked(&event->list_lock));
> +	assert_spin_locked(&event->list_lock);
>  	BUG_ON(size != notify->size);
>  
>  	spin_lock_irqsave(&event->refs_lock, flags);
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]