diff --git a/drivers/net/mmnif.c b/drivers/net/mmnif.c index 0e3d8bac..eaddd2d2 100644 --- a/drivers/net/mmnif.c +++ b/drivers/net/mmnif.c @@ -341,7 +341,7 @@ __inline int mmnif_write_rx_buffl(uint32_t dest_ip, uint32_t pos,void* data,uint #else // uint16_t length = *((uint16_t*)data); memcpy((char*)mpb_start_address +(dest_ip -1 ) * mpb_size + sizeof(mm_rx_buffer_t)+ pos * MMNIF_RX_BUFFERLEN,&length,2); - memcpy(char*)mpb_start_address +(dest_ip -1 ) * mpb_size + sizeof(mm_rx_buffer_t)+ pos * MMNIF_RX_BUFFERLEN + 2,data,length); + memcpy((char*)mpb_start_address +(dest_ip -1 ) * mpb_size + sizeof(mm_rx_buffer_t)+ pos * MMNIF_RX_BUFFERLEN + 2,data,length); return 1; #endif }; @@ -380,7 +380,7 @@ __inline int mmnif_write_rx_pending(uint32_t dest_ip,uint8_t pending) return nr_of_bytes_written; #else - memcpy((char*)mpb_start_address + ( dest_ip -1 ) * mpb_size ,&queue,1); + memcpy((char*)mpb_start_address + ( dest_ip -1 ) * mpb_size ,&pending,1); return 1; #endif @@ -408,7 +408,7 @@ __inline int mmnif_trigger_irq(dest_ip) /**/ value = inportl((void*)irq_address); - if (!pulse_irq) && (value & RCK_INTR_MASK)) + if ((!pulse_irq) && (value & RCK_INTR_MASK)) { value &= (~(RCK_INTR_MASK|RCK_NMI_MASK)); outportl((void*)irq_address,value); @@ -420,7 +420,7 @@ __inline int mmnif_trigger_irq(dest_ip) /**/ if (pulse_irq) { - value &= (~(RCK_INTR_MASK|NMI_MASK)); + value &= (~(RCK_INTR_MASK|RCK_NMI_MASK)); outportl((void*)irq_address,value); }