|
@@ -118,7 +118,6 @@
|
|
|
#define SMBSLVSTS(p) (16 + (p)->smba) /* ICH3 and later */
|
|
|
#define SMBSLVCMD(p) (17 + (p)->smba) /* ICH3 and later */
|
|
|
#define SMBNTFDADD(p) (20 + (p)->smba) /* ICH3 and later */
|
|
|
-#define SMBNTFDDAT(p) (22 + (p)->smba) /* ICH3 and later */
|
|
|
|
|
|
/* PCI Address Constants */
|
|
|
#define SMBBAR 4
|
|
@@ -581,12 +580,15 @@ static void i801_isr_byte_done(struct i801_priv *priv)
|
|
|
static irqreturn_t i801_host_notify_isr(struct i801_priv *priv)
|
|
|
{
|
|
|
unsigned short addr;
|
|
|
- unsigned int data;
|
|
|
|
|
|
addr = inb_p(SMBNTFDADD(priv)) >> 1;
|
|
|
- data = inw_p(SMBNTFDDAT(priv));
|
|
|
|
|
|
- i2c_handle_smbus_host_notify(priv->host_notify, addr, data);
|
|
|
+ /*
|
|
|
+ * With the tested platforms, reading SMBNTFDDAT (22 + (p)->smba)
|
|
|
+ * always returns 0 and is safe to read.
|
|
|
+ * We just use 0 given we have no use of the data right now.
|
|
|
+ */
|
|
|
+ i2c_handle_smbus_host_notify(priv->host_notify, addr, 0);
|
|
|
|
|
|
/* clear Host Notify bit and return */
|
|
|
outb_p(SMBSLVSTS_HST_NTFY_STS, SMBSLVSTS(priv));
|