@ -845,12 +845,10 @@ claw_irq_tasklet ( unsigned long data )
{
struct chbk * p_ch ;
struct net_device * dev ;
struct claw_privbk * privptr ;
p_ch = ( struct chbk * ) data ;
dev = ( struct net_device * ) p_ch - > ndev ;
CLAW_DBF_TEXT ( 4 , trace , " IRQtask " ) ;
privptr = ( struct claw_privbk * ) dev - > ml_priv ;
unpack_read ( dev ) ;
clear_bit ( CLAW_BH_ACTIVE , ( void * ) & p_ch - > flag_a ) ;
CLAW_DBF_TEXT ( 4 , trace , " TskletXt " ) ;
@ -1026,7 +1024,6 @@ claw_write_next ( struct chbk * p_ch )
struct net_device * dev ;
struct claw_privbk * privptr = NULL ;
struct sk_buff * pk_skb ;
int rc ;
CLAW_DBF_TEXT ( 4 , trace , " claw_wrt " ) ;
if ( p_ch - > claw_state = = CLAW_STOP )
@ -1038,7 +1035,7 @@ claw_write_next ( struct chbk * p_ch )
! skb_queue_empty ( & p_ch - > collect_queue ) ) {
pk_skb = claw_pack_skb ( privptr ) ;
while ( pk_skb ! = NULL ) {
rc = claw_hw_tx ( pk_skb , dev , 1 ) ;
claw_hw_tx ( pk_skb , dev , 1 ) ;
if ( privptr - > write_free_count > 0 ) {
pk_skb = claw_pack_skb ( privptr ) ;
} else
@ -1322,15 +1319,12 @@ claw_hw_tx(struct sk_buff *skb, struct net_device *dev, long linkid)
unsigned char * pDataAddress ;
struct endccw * pEnd ;
struct ccw1 tempCCW ;
struct chbk * p_ch ;
struct claw_env * p_env ;
int lock ;
struct clawph * pk_head ;
struct chbk * ch ;
CLAW_DBF_TEXT ( 4 , trace , " hw_tx " ) ;
privptr = ( struct claw_privbk * ) ( dev - > ml_priv ) ;
p_ch = ( struct chbk * ) & privptr - > channel [ WRITE_CHANNEL ] ;
p_env = privptr - > p_env ;
claw_free_wrt_buf ( dev ) ; /* Clean up free chain if posible */
/* scan the write queue to free any completed write packets */
@ -1511,12 +1505,6 @@ claw_hw_tx(struct sk_buff *skb, struct net_device *dev, long linkid)
} /* endif (p_first_ccw!=NULL) */
dev_kfree_skb_any ( skb ) ;
if ( linkid = = 0 ) {
lock = LOCK_NO ;
}
else {
lock = LOCK_YES ;
}
claw_strt_out_IO ( dev ) ;
/* if write free count is zero , set NOBUFFER */
if ( privptr - > write_free_count = = 0 ) {
@ -2821,15 +2809,11 @@ claw_free_wrt_buf( struct net_device *dev )
{
struct claw_privbk * privptr = ( struct claw_privbk * ) dev - > ml_priv ;
struct ccwbk * p_first_ccw ;
struct ccwbk * p_last_ccw ;
struct ccwbk * p_this_ccw ;
struct ccwbk * p_next_ccw ;
CLAW_DBF_TEXT ( 4 , trace , " freewrtb " ) ;
/* scan the write queue to free any completed write packets */
p_first_ccw = NULL ;
p_last_ccw = NULL ;
p_this_ccw = privptr - > p_write_active_first ;
while ( ( p_this_ccw ! = NULL ) & & ( p_this_ccw - > header . flag ! = CLAW_PENDING ) )
{
@ -3072,7 +3056,7 @@ claw_shutdown_device(struct ccwgroup_device *cgdev)
{
struct claw_privbk * priv ;
struct net_device * ndev ;
int ret ;
int ret = 0 ;
CLAW_DBF_TEXT_ ( 2 , setup , " %s " , dev_name ( & cgdev - > dev ) ) ;
priv = dev_get_drvdata ( & cgdev - > dev ) ;
@ -3095,7 +3079,7 @@ claw_shutdown_device(struct ccwgroup_device *cgdev)
}
ccw_device_set_offline ( cgdev - > cdev [ 1 ] ) ;
ccw_device_set_offline ( cgdev - > cdev [ 0 ] ) ;
return 0 ;
return ret ;
}
static void