Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 236032
b: refs/heads/master
c: a7d3976
h: refs/heads/master
v: v3
  • Loading branch information
Javier Martinez Canillas authored and Greg Kroah-Hartman committed Feb 18, 2011
1 parent 632ccd8 commit d468ad6
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 38 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 1e1233234edeacabbcaab9d086474224ba5af015
refs/heads/master: a7d3976edc32e6041f9d68c79ba64a17d5ec5095
68 changes: 31 additions & 37 deletions trunk/drivers/staging/bcm/Bcmchar.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,61 +45,55 @@ static int bcm_char_open(struct inode *inode, struct file * filp)

static int bcm_char_release(struct inode *inode, struct file *filp)
{
PPER_TARANG_DATA pTarang, tmp, ptmp;
PMINI_ADAPTER Adapter=NULL;
struct sk_buff * pkt, * npkt;
PPER_TARANG_DATA pTarang, tmp, ptmp;
PMINI_ADAPTER Adapter = NULL;
struct sk_buff *pkt, *npkt;

pTarang = (PPER_TARANG_DATA)filp->private_data;
pTarang = (PPER_TARANG_DATA)filp->private_data;

if(pTarang == NULL)
{
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_PRINTK, 0, 0, "ptarang is null\n");
return 0;
if (pTarang == NULL) {
BCM_DEBUG_PRINT(Adapter, DBG_TYPE_PRINTK, 0, 0,
"ptarang is null\n");
return 0;
}

Adapter = pTarang->Adapter;

down( &Adapter->RxAppControlQueuelock);
down(&Adapter->RxAppControlQueuelock);

tmp = Adapter->pTarangs;
for ( ptmp = NULL; tmp; ptmp = tmp, tmp = tmp->next )
{
if ( tmp == pTarang )
tmp = Adapter->pTarangs;
for (ptmp = NULL; tmp; ptmp = tmp, tmp = tmp->next) {
if (tmp == pTarang)
break;
}

if ( tmp )
{
if ( !ptmp )
Adapter->pTarangs = tmp->next;
else
ptmp->next = tmp->next;
if (tmp) {
if (!ptmp)
Adapter->pTarangs = tmp->next;
else
ptmp->next = tmp->next;
} else {
up(&Adapter->RxAppControlQueuelock);
return 0;
}

else
{
up( &Adapter->RxAppControlQueuelock);
return 0;
}

pkt = pTarang->RxAppControlHead;
while ( pkt )
{
npkt = pkt->next;
kfree_skb(pkt);
pkt = npkt;
pkt = pTarang->RxAppControlHead;
while (pkt) {
npkt = pkt->next;
kfree_skb(pkt);
pkt = npkt;
}

up( &Adapter->RxAppControlQueuelock);
up(&Adapter->RxAppControlQueuelock);

/*Stop Queuing the control response Packets*/
atomic_dec(&Adapter->ApplicationRunning);
/*Stop Queuing the control response Packets*/
atomic_dec(&Adapter->ApplicationRunning);

kfree(pTarang);
kfree(pTarang);

/* remove this filp from the asynchronously notified filp's */
filp->private_data = NULL;
return 0;
filp->private_data = NULL;
return 0;
}

static ssize_t bcm_char_read(struct file *filp, char __user *buf, size_t size, loff_t *f_pos)
Expand Down

0 comments on commit d468ad6

Please sign in to comment.