DEBUGMSG("Cleared all message objects on chip\n");
- for (i=1; i<=15; i++) {
+ for (i=0; i<chip->max_objects; i++) {
obj=chip->msgobj[i];
canobj_write_reg(chip,obj,(INTPD_RES|RXIE_RES|TXIE_RES|MVAL_RES),iMSGCTL0);
canobj_write_reg(chip,obj,(NEWD_RES|MLST_RES|TXRQ_RES|RMPD_RES), iMSGCTL1);
if (irq_register == 0x02)
object = 14;
- else if(irq_register < 14)
+ else if(irq_register <= 13+3)
object = irq_register-3;
else
return CANCHIP_IRQ_NONE;