openwrtv3/target/linux/generic-2.6/patches-2.6.22/601-eeprom_93cx6_fixes.patch

34 lines
906 B
Diff
Raw Normal View History

Index: linux-2.6.22.18/drivers/misc/eeprom_93cx6.c
===================================================================
--- linux-2.6.22.18.orig/drivers/misc/eeprom_93cx6.c
+++ linux-2.6.22.18/drivers/misc/eeprom_93cx6.c
@@ -39,14 +39,26 @@ static inline void eeprom_93cx6_pulse_hi
{
eeprom->reg_data_clock = 1;
eeprom->register_write(eeprom);
- udelay(1);
+
+ /*
+ * Add a short delay for the pulse to work.
+ * According to the specifications the "maximum minimum"
+ * time should be 450ns.
+ */
+ ndelay(450);
}
static inline void eeprom_93cx6_pulse_low(struct eeprom_93cx6 *eeprom)
{
eeprom->reg_data_clock = 0;
eeprom->register_write(eeprom);
- udelay(1);
+
+ /*
+ * Add a short delay for the pulse to work.
+ * According to the specifications the "maximum minimum"
+ * time should be 450ns.
+ */
+ ndelay(450);
}
static void eeprom_93cx6_startup(struct eeprom_93cx6 *eeprom)