Rename read_pda to something else because this symbol is used in a
define for something else in arch/um/include/asm/pda.h on older kernels.

--- a/drivers/net/wireless/orinoco/fw.c
+++ b/drivers/net/wireless/orinoco/fw.c
@@ -123,7 +123,7 @@ orinoco_dl_firmware(struct orinoco_priva
 	dev_dbg(dev, "Attempting to download firmware %s\n", firmware);
 
 	/* Read current plug data */
-	err = hw->ops->read_pda(hw, pda, fw->pda_addr, fw->pda_size);
+	err = hw->ops->read_pda_h(hw, pda, fw->pda_addr, fw->pda_size);
 	dev_dbg(dev, "Read PDA returned %d\n", err);
 	if (err)
 		goto free;
@@ -225,7 +225,7 @@ symbol_dl_image(struct orinoco_private *
 		if (!pda)
 			return -ENOMEM;
 
-		ret = hw->ops->read_pda(hw, pda, fw->pda_addr, fw->pda_size);
+		ret = hw->ops->read_pda_h(hw, pda, fw->pda_addr, fw->pda_size);
 		if (ret)
 			goto free;
 	}
--- a/drivers/net/wireless/orinoco/hermes.c
+++ b/drivers/net/wireless/orinoco/hermes.c
@@ -767,7 +767,7 @@ static const struct hermes_ops hermes_op
 	.write_ltv = hermes_write_ltv,
 	.bap_pread = hermes_bap_pread,
 	.bap_pwrite = hermes_bap_pwrite,
-	.read_pda = hermes_read_pda,
+	.read_pda_h = hermes_read_pda,
 	.program_init = hermesi_program_init,
 	.program_end = hermesi_program_end,
 	.program = hermes_program_bytes,
--- a/drivers/net/wireless/orinoco/hermes.h
+++ b/drivers/net/wireless/orinoco/hermes.h
@@ -393,7 +393,7 @@ struct hermes_ops {
 			 u16 id, u16 offset);
 	int (*bap_pwrite)(struct hermes *hw, int bap, const void *buf,
 			  int len, u16 id, u16 offset);
-	int (*read_pda)(struct hermes *hw, __le16 *pda,
+	int (*read_pda_h)(struct hermes *hw, __le16 *pda,
 			u32 pda_addr, u16 pda_len);
 	int (*program_init)(struct hermes *hw, u32 entry_point);
 	int (*program_end)(struct hermes *hw);
--- a/drivers/net/wireless/orinoco/orinoco_usb.c
+++ b/drivers/net/wireless/orinoco/orinoco_usb.c
@@ -1548,7 +1548,7 @@ static const struct hermes_ops ezusb_ops
 	.read_ltv = ezusb_read_ltv,
 	.write_ltv = ezusb_write_ltv,
 	.bap_pread = ezusb_bap_pread,
-	.read_pda = ezusb_read_pda,
+	.read_pda_h = ezusb_read_pda,
 	.program_init = ezusb_program_init,
 	.program_end = ezusb_program_end,
 	.program = ezusb_program,
