small fixes

This commit is contained in:
Karsten Keil 2001-09-29 20:11:20 +00:00
parent 4c52d522d8
commit 2224488a56
4 changed files with 28 additions and 6 deletions

View File

@ -1349,7 +1349,7 @@ HFCD_l1hw(hisaxif_t *hif, struct sk_buff *skb)
ret = 0; ret = 0;
if (hh->prim == PH_DATA_REQ) { if (hh->prim == PH_DATA_REQ) {
if (dch->next_skb) { if (dch->next_skb) {
debugprint(&dch->inst, " l2l1 next_skb exist this shouldn't happen"); printk(KERN_WARNING __FUNCTION__": next_skb exist ERROR");
return(-EBUSY); return(-EBUSY);
} }
skb_pull(skb, HISAX_HEAD_SIZE); skb_pull(skb, HISAX_HEAD_SIZE);
@ -1679,7 +1679,7 @@ hfcpci_l2l1(hisaxif_t *hif, struct sk_buff *skb)
if ((hh->prim == PH_DATA_REQ) || if ((hh->prim == PH_DATA_REQ) ||
(hh->prim == (DL_DATA | REQUEST))) { (hh->prim == (DL_DATA | REQUEST))) {
if (bch->next_skb) { if (bch->next_skb) {
debugprint(&bch->inst, " l2l1 next_skb exist this shouldn't happen"); printk(KERN_WARNING __FUNCTION__": next_skb exist ERROR");
return(-EBUSY); return(-EBUSY);
} }
skb_pull(skb, HISAX_HEAD_SIZE); skb_pull(skb, HISAX_HEAD_SIZE);
@ -1862,7 +1862,7 @@ hfcD_bh(dchannel_t *dch)
{ {
if (!dch) if (!dch)
return; return;
printk(KERN_DEBUG __FUNCTION__": event %x\n", dch->event); // printk(KERN_DEBUG __FUNCTION__": event %x\n", dch->event);
if (test_and_clear_bit(D_L1STATECHANGE, &dch->event)) if (test_and_clear_bit(D_L1STATECHANGE, &dch->event))
hfcD_newstate(dch); hfcD_newstate(dch);
if (test_and_clear_bit(D_XMTBUFREADY, &dch->event)) { if (test_and_clear_bit(D_XMTBUFREADY, &dch->event)) {
@ -1903,10 +1903,12 @@ hfcB_bh(bchannel_t *bch)
printk(KERN_WARNING "HiSax: hdlc_bh without up.func\n"); printk(KERN_WARNING "HiSax: hdlc_bh without up.func\n");
return; return;
} }
#if 0
printk(KERN_DEBUG __FUNCTION__": event %x\n", bch->event); printk(KERN_DEBUG __FUNCTION__": event %x\n", bch->event);
if (bch->dev) if (bch->dev)
printk(KERN_DEBUG __FUNCTION__": rpflg(%x) wpflg(%x)\n", printk(KERN_DEBUG __FUNCTION__": rpflg(%x) wpflg(%x)\n",
bch->dev->rport.Flag, bch->dev->wport.Flag); bch->dev->rport.Flag, bch->dev->wport.Flag);
#endif
if (test_and_clear_bit(B_XMTBUFREADY, &bch->event)) { if (test_and_clear_bit(B_XMTBUFREADY, &bch->event)) {
skb = bch->next_skb; skb = bch->next_skb;
if (skb) { if (skb) {

View File

@ -523,6 +523,18 @@ set_stack(hisaxstack_t *st, hisax_pid_t *pid) {
} }
hl = st->lstack; hl = st->lstack;
while(hl && hl->next) { while(hl && hl->next) {
if (!hl->inst) {
int_error();
return(-EINVAL);
}
if (!hl->inst->obj) {
int_error();
return(-EINVAL);
}
if (!hl->inst->obj->own_ctrl) {
int_error();
return(-EINVAL);
}
hl->inst->obj->own_ctrl(hl->inst, MGR_CONNECT | REQUEST, hl->inst->obj->own_ctrl(hl->inst, MGR_CONNECT | REQUEST,
hl->next->inst); hl->next->inst);
hl = hl->next; hl = hl->next;

View File

@ -210,9 +210,13 @@ hisax_rdata(hisaxdevice_t *dev, iframe_t *iff, int use_value) {
if (iff->len>0) if (iff->len>0)
p_memcpy_i(port, iff->data.p, iff->len); p_memcpy_i(port, iff->data.p, iff->len);
} }
} else
len = -ENOSPC;
spin_unlock_irqrestore(&port->lock, flags); spin_unlock_irqrestore(&port->lock, flags);
} else {
spin_unlock_irqrestore(&port->lock, flags);
printk(KERN_WARNING __FUNCTION__ ":no rport space for %d\n",
len);
len = -ENOSPC;
}
wake_up_interruptible(&port->procq); wake_up_interruptible(&port->procq);
return(len); return(len);
} }
@ -1564,7 +1568,7 @@ do_hisax_read(struct file *file, char *buf, size_t count, loff_t * off)
if (!access_ok(VERIFY_WRITE, buf, count)) if (!access_ok(VERIFY_WRITE, buf, count))
return(-EFAULT); return(-EFAULT);
if (device_debug & DEBUG_DEV_OP) if (device_debug & DEBUG_DEV_OP)
printk(KERN_DEBUG "hisax_read: file(%d) %p count %d\n", printk(KERN_DEBUG "hisax_read: file(%d) %p max %d\n",
dev->minor, file, count); dev->minor, file, count);
while (!dev->rport.cnt) { while (!dev->rport.cnt) {
if (file->f_flags & O_NONBLOCK) if (file->f_flags & O_NONBLOCK)
@ -1599,6 +1603,9 @@ do_hisax_read(struct file *file, char *buf, size_t count, loff_t * off)
} }
*off += len + frag; *off += len + frag;
spin_unlock_irqrestore(&dev->rport.lock, flags); spin_unlock_irqrestore(&dev->rport.lock, flags);
if (device_debug & DEBUG_DEV_OP)
printk(KERN_DEBUG "hisax_read: file(%d) %d\n",
dev->minor, len + frag);
return(len + frag); return(len + frag);
} }

View File

@ -25,6 +25,7 @@
#define CONFIRM 0x81 #define CONFIRM 0x81
#define INDICATION 0x82 #define INDICATION 0x82
#define RESPONSE 0x83 #define RESPONSE 0x83
#define SUB_ERROR 0xff
/* management */ /* management */
#define MGR_GETOBJECT 0x0f0100 #define MGR_GETOBJECT 0x0f0100