[build] Fix building for big-endian targets

Fix build errors that arise when building for a big-endian target such
as s390x.  (Runtime endianness errors may remain: this fixes only
those errors that are detected at build time.)

Signed-off-by: Michael Brown <mcb30@ipxe.org>
diff --git a/src/drivers/bus/pcibridge.c b/src/drivers/bus/pcibridge.c
index 67c9758..79e86f5 100644
--- a/src/drivers/bus/pcibridge.c
+++ b/src/drivers/bus/pcibridge.c
@@ -82,7 +82,7 @@
 
 	/* Read bus configuration */
 	pci_read_config_dword ( pci, PCI_PRIMARY, &bridge->buses );
-	cpu_to_le32s ( &buses );
+	cpu_to_le32s ( &bridge->buses );
 
 	/* Read memory base and limit */
 	pci_read_config_word ( pci, PCI_MEM_BASE, &base );
diff --git a/src/drivers/net/epic100.c b/src/drivers/net/epic100.c
index 03b394e..87ca8b3 100644
--- a/src/drivers/net/epic100.c
+++ b/src/drivers/net/epic100.c
@@ -380,7 +380,7 @@
     unsigned long status;
     entry = cur_rx % RX_RING_SIZE;
 
-    if ((rx_ring[entry].status & cpu_to_le32(RRING_OWN)) == RRING_OWN)
+    if (rx_ring[entry].status & cpu_to_le32(RRING_OWN))
 	return (0);
 
     if ( ! retrieve ) return 1;
diff --git a/src/drivers/net/vxge/vxge_config.c b/src/drivers/net/vxge/vxge_config.c
index 8c6ee9e..3663e0d 100644
--- a/src/drivers/net/vxge/vxge_config.c
+++ b/src/drivers/net/vxge/vxge_config.c
@@ -739,17 +739,16 @@
 enum vxge_hw_status
 __vxge_hw_vpath_swapper_set(struct vxge_hw_vpath_reg __iomem *vpath_reg)
 {
+	u64 val64;
 	vxge_trace();
 
-#if (__BYTE_ORDER != __BIG_ENDIAN)
-	u64 val64;
-
-	val64 = readq(&vpath_reg->vpath_general_cfg1);
-	wmb();
-	val64 |= VXGE_HW_VPATH_GENERAL_CFG1_CTL_BYTE_SWAPEN;
-	writeq(val64, &vpath_reg->vpath_general_cfg1);
-	wmb();
-#endif
+	if (__BYTE_ORDER != __BIG_ENDIAN) {
+		val64 = readq(&vpath_reg->vpath_general_cfg1);
+		wmb();
+		val64 |= VXGE_HW_VPATH_GENERAL_CFG1_CTL_BYTE_SWAPEN;
+		writeq(val64, &vpath_reg->vpath_general_cfg1);
+		wmb();
+	}
 	return VXGE_HW_OK;
 }
 
@@ -1372,10 +1371,9 @@
 
 	val64 |= VXGE_HW_KDFC_TRPL_FIFO_0_CTRL_MODE(
 		 VXGE_HW_KDFC_TRPL_FIFO_0_CTRL_MODE_NON_OFFLOAD_ONLY) |
-#if (__BYTE_ORDER != __BIG_ENDIAN)
-		 VXGE_HW_KDFC_TRPL_FIFO_0_CTRL_SWAP_EN |
-#endif
 		 VXGE_HW_KDFC_TRPL_FIFO_0_CTRL_SELECT(0);
+	if (__BYTE_ORDER != __BIG_ENDIAN)
+		val64 |= VXGE_HW_KDFC_TRPL_FIFO_0_CTRL_SWAP_EN;
 
 	writeq(val64, &vp_reg->kdfc_trpl_fifo_0_ctrl);
 	writeq((u64)0, &vp_reg->kdfc_trpl_fifo_0_wb_address);
diff --git a/src/include/ipxe/ieee80211.h b/src/include/ipxe/ieee80211.h
index 4e44f43..0e3eeee 100644
--- a/src/include/ipxe/ieee80211.h
+++ b/src/include/ipxe/ieee80211.h
@@ -849,7 +849,7 @@
 /** Make OUI plus type byte into 32-bit integer for easy comparison */
 #if __BYTE_ORDER == __BIG_ENDIAN
 #define _MKOUI( a, b, c, t )	\
-		( ( ( a ) << 24 ) | ( ( b ) << 16 ) | ( ( c ) << 8 ) | ( d ) )
+		( ( ( a ) << 24 ) | ( ( b ) << 16 ) | ( ( c ) << 8 ) | ( t ) )
 #define  OUI_ORG_MASK		0xFFFFFF00
 #define  OUI_TYPE_MASK		0x000000FF
 #else