return;
ret = -ENODEV;
- if (!in_interrupt() && !(info->flags & FBINFO_HWACCEL_DISABLED)) {
- mutex_lock(&dev_priv->channel->mutex);
+ if (!in_interrupt() && !(info->flags & FBINFO_HWACCEL_DISABLED) &&
+ mutex_trylock(&dev_priv->channel->mutex)) {
if (dev_priv->card_type < NV_50)
ret = nv04_fbcon_fillrect(info, rect);
else
return;
ret = -ENODEV;
- if (!in_interrupt() && !(info->flags & FBINFO_HWACCEL_DISABLED)) {
- mutex_lock(&dev_priv->channel->mutex);
+ if (!in_interrupt() && !(info->flags & FBINFO_HWACCEL_DISABLED) &&
+ mutex_trylock(&dev_priv->channel->mutex)) {
if (dev_priv->card_type < NV_50)
ret = nv04_fbcon_copyarea(info, image);
else
return;
ret = -ENODEV;
- if (!in_interrupt() && !(info->flags & FBINFO_HWACCEL_DISABLED)) {
- mutex_lock(&dev_priv->channel->mutex);
+ if (!in_interrupt() && !(info->flags & FBINFO_HWACCEL_DISABLED) &&
+ mutex_trylock(&dev_priv->channel->mutex)) {
if (dev_priv->card_type < NV_50)
ret = nv04_fbcon_imageblit(info, image);
else
info->flags & FBINFO_HWACCEL_DISABLED)
return 0;
- mutex_lock(&chan->mutex);
+ if (!mutex_trylock(&chan->mutex))
+ return 0;
+
ret = RING_SPACE(chan, 4);
if (ret) {
mutex_unlock(&chan->mutex);