Hi Andrew,
could you try the following patch?
if it cures, i'll commit it to cvs.
ciao,
Takashi
Index: alsa-kernel/include/i2c.h
===================================================================
RCS file: /suse/tiwai/cvs/alsa/alsa-kernel/include/i2c.h,v
retrieving revision 1.2
diff -u -r1.2 i2c.h
--- alsa-kernel/include/i2c.h 4 Jan 2002 15:44:15 -0000 1.2
+++ alsa-kernel/include/i2c.h 23 Apr 2002 10:44:21 -0000
@@ -82,8 +82,18 @@
int snd_i2c_device_create(snd_i2c_bus_t *bus, const char *name, unsigned char addr,
snd_i2c_device_t **rdevice);
int snd_i2c_device_free(snd_i2c_device_t *device);
-static inline void snd_i2c_lock(snd_i2c_bus_t *bus) { spin_lock(&(bus->master ?
bus->master->lock : bus->lock)); }
-static inline void snd_i2c_unlock(snd_i2c_bus_t *bus) { spin_unlock(&(bus->master ?
bus->master->lock : bus->lock)); }
+static inline void snd_i2c_lock(snd_i2c_bus_t *bus) {
+ if (bus->master)
+ spin_lock(&bus->master->lock);
+ else
+ spin_lock(&bus->lock);
+}
+static inline void snd_i2c_unlock(snd_i2c_bus_t *bus) {
+ if (bus->master)
+ spin_unlock(&bus->master->lock);
+ else
+ spin_unlock(&bus->lock);
+}
int snd_i2c_sendbytes(snd_i2c_device_t *device, unsigned char *bytes, int count);
int snd_i2c_readbytes(snd_i2c_device_t *device, unsigned char *bytes, int count);
_______________________________________________
Alsa-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-user