From 502aefc2c3fa36b2e72d5982f262e9a512ff935a Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Fri, 27 Dec 2002 23:50:33 +0000 Subject: [PATCH] Testing on real NetBSD revealed a couple of stupid typos. --- lib/nbsd-libpci.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/nbsd-libpci.c b/lib/nbsd-libpci.c index e1bebd7..0b247c0 100644 --- a/lib/nbsd-libpci.c +++ b/lib/nbsd-libpci.c @@ -104,7 +104,7 @@ nbsd_write(struct pci_dev *d, int pos, byte *buf, int len) */ shift = 8*(pos % 4); - pos &= 3; + pos &= ~3; if (len != 4) { if (pcibus_conf_read(d->access->fd, d->bus, d->dev, d->func, pos, &val) < 0) @@ -114,10 +114,10 @@ nbsd_write(struct pci_dev *d, int pos, byte *buf, int len) switch (len) { case 1: - val = (val & ~(0xff << shift)) | buf[0]; + val = (val & ~(0xff << shift)) | (buf[0] << shift); break; case 2: - val = (val & ~(0xffff << shift)) | le16_to_cpu(*(u16*)buf); + val = (val & ~(0xffff << shift)) | (le16_to_cpu(*(u16*)buf) << shift); break; case 4: val = le32_to_cpu(*(u32*)buf); -- 2.39.2