From c6841cd18f9ce75355043acb7a1263d3da8b41b9 Mon Sep 17 00:00:00 2001 From: "Justin T. Gibbs" Date: Fri, 24 May 1996 15:22:36 +0000 Subject: [PATCH] Properly determine the offset of the remaining bytes we need to transfer after outsl'ing all the long words we can during transmission in 32bit mode. Closes PR:i386/1243 Submitted by: flash@eru.tubank.msk.su --- sys/dev/ep/if_ep.c | 4 ++-- sys/i386/isa/if_ep.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/dev/ep/if_ep.c b/sys/dev/ep/if_ep.c index 4ee4b838e1d..aecba9b215e 100644 --- a/sys/dev/ep/if_ep.c +++ b/sys/dev/ep/if_ep.c @@ -38,7 +38,7 @@ */ /* - * $Id: if_ep.c,v 1.42 1996/02/26 01:05:34 gibbs Exp $ + * $Id: if_ep.c,v 1.43 1996/02/28 17:19:03 gibbs Exp $ * * Promiscuous mode added and interrupt logic slightly changed * to reduce the number of adapter failures. Transceiver select @@ -795,7 +795,7 @@ startagain: m->m_len / 4); if (m->m_len & 3) outsb(BASE + EP_W1_TX_PIO_WR_1, - mtod(m, caddr_t) + m->m_len / 4, + mtod(m, caddr_t) + (m->m_len & (~3)), m->m_len & 3); } else { outsw(BASE + EP_W1_TX_PIO_WR_1, mtod(m, caddr_t), m->m_len / 2); diff --git a/sys/i386/isa/if_ep.c b/sys/i386/isa/if_ep.c index 4ee4b838e1d..aecba9b215e 100644 --- a/sys/i386/isa/if_ep.c +++ b/sys/i386/isa/if_ep.c @@ -38,7 +38,7 @@ */ /* - * $Id: if_ep.c,v 1.42 1996/02/26 01:05:34 gibbs Exp $ + * $Id: if_ep.c,v 1.43 1996/02/28 17:19:03 gibbs Exp $ * * Promiscuous mode added and interrupt logic slightly changed * to reduce the number of adapter failures. Transceiver select @@ -795,7 +795,7 @@ startagain: m->m_len / 4); if (m->m_len & 3) outsb(BASE + EP_W1_TX_PIO_WR_1, - mtod(m, caddr_t) + m->m_len / 4, + mtod(m, caddr_t) + (m->m_len & (~3)), m->m_len & 3); } else { outsw(BASE + EP_W1_TX_PIO_WR_1, mtod(m, caddr_t), m->m_len / 2);