diff options
Diffstat (limited to 'net/atm/raw.c')
| -rw-r--r-- | net/atm/raw.c | 12 | 
1 files changed, 10 insertions, 2 deletions
| diff --git a/net/atm/raw.c b/net/atm/raw.c index b3ba44aab0ee..2b5f78a7ec3e 100644 --- a/net/atm/raw.c +++ b/net/atm/raw.c @@ -54,6 +54,8 @@ static int atm_send_aal0(struct atm_vcc *vcc, struct sk_buff *skb)  		kfree_skb(skb);  		return -EADDRNOTAVAIL;  	} +	if (vcc->dev->ops->send_bh) +		return vcc->dev->ops->send_bh(vcc, skb);  	return vcc->dev->ops->send(vcc, skb);  } @@ -71,7 +73,10 @@ int atm_init_aal34(struct atm_vcc *vcc)  	vcc->push = atm_push_raw;  	vcc->pop = atm_pop_raw;  	vcc->push_oam = NULL; -	vcc->send = vcc->dev->ops->send; +	if (vcc->dev->ops->send_bh) +		vcc->send = vcc->dev->ops->send_bh; +	else +		vcc->send = vcc->dev->ops->send;  	return 0;  } @@ -80,7 +85,10 @@ int atm_init_aal5(struct atm_vcc *vcc)  	vcc->push = atm_push_raw;  	vcc->pop = atm_pop_raw;  	vcc->push_oam = NULL; -	vcc->send = vcc->dev->ops->send; +	if (vcc->dev->ops->send_bh) +		vcc->send = vcc->dev->ops->send_bh; +	else +		vcc->send = vcc->dev->ops->send;  	return 0;  }  EXPORT_SYMBOL(atm_init_aal5); | 
