diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2006-02-08 07:04:18 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-08 07:33:36 +0300 |
commit | 367636e8a9ef250d5b255f9d299e1c27cb3d7ea3 (patch) | |
tree | 19a8a96154d2a318a2dbd02d5dfab8530e0b8606 /sound/ppc/pmac.c | |
parent | fe69102188cde0700cddd8d4cda0b77d68284884 (diff) | |
download | linux-367636e8a9ef250d5b255f9d299e1c27cb3d7ea3.tar.xz |
[PATCH] powerpc: Fix sound driver use of i2c
The PowerMac sound drivers used to rely on a "bug" of the i2c-keywest
driver that implemented I2C_SMBUS_BLOCK_DATA incorrectly, that is it did
what I2C_SMBUS_I2C_BLOCK_DATA should have done. The new i2c-powermac
driver that replaces keywest has this bug fixed, thus the sound drivers
must be fixed too.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'sound/ppc/pmac.c')
-rw-r--r-- | sound/ppc/pmac.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sound/ppc/pmac.c b/sound/ppc/pmac.c index 4988f873a7ba..aa57170101fd 100644 --- a/sound/ppc/pmac.c +++ b/sound/ppc/pmac.c @@ -66,7 +66,7 @@ static int snd_pmac_dbdma_alloc(struct snd_pmac *chip, struct pmac_dbdma *rec, i static void snd_pmac_dbdma_free(struct snd_pmac *chip, struct pmac_dbdma *rec) { - if (rec) { + if (rec->space) { unsigned int rsize = sizeof(struct dbdma_cmd) * (rec->size + 1); dma_free_coherent(&chip->pdev->dev, rsize, rec->space, rec->dma_base); @@ -881,6 +881,7 @@ static int __init snd_pmac_detect(struct snd_pmac *chip) chip->can_capture = 1; chip->num_freqs = ARRAY_SIZE(awacs_freqs); chip->freq_table = awacs_freqs; + chip->pdev = NULL; chip->control_mask = MASK_IEPC | MASK_IEE | 0x11; /* default */ |