Commit c7aaf78a authored by Dave Jones's avatar Dave Jones

Merge tetrachloride.(none):/mnt/raid/src/kernel/2.5/bk-linus

into tetrachloride.(none):/mnt/raid/src/kernel/2.5/agpgart
parents 32139ce5 14dae1f7
......@@ -17,8 +17,12 @@
int version_string(LINUX_VERSION_CODE);
struct new_utsname system_utsname = {
UTS_SYSNAME, UTS_NODENAME, UTS_RELEASE, UTS_VERSION,
UTS_MACHINE, UTS_DOMAINNAME
.sysname = UTS_SYSNAME,
.nodename = UTS_NODENAME,
.release = UTS_RELEASE,
.version = UTS_VERSION,
.machine = UTS_MACHINE,
.domainname = UTS_DOMAINNAME,
};
const char *linux_banner =
......
......@@ -143,9 +143,9 @@ static char * number(char * buf, char * end, unsigned long long num, int base, i
c = (type & ZEROPAD) ? '0' : ' ';
sign = 0;
if (type & SIGN) {
if (num < 0) {
if ((signed long long) num < 0) {
sign = '-';
num = -num;
num = - (signed long long) num;
size--;
} else if (type & PLUS) {
sign = '+';
......
......@@ -236,16 +236,23 @@ static ad1889_dev_t *ad1889_alloc_dev(struct pci_dev *pci)
for (i = 0; i < AD_MAX_STATES; i++) {
dmabuf = &dev->state[i].dmabuf;
if ((dmabuf->rawbuf = kmalloc(DMA_SIZE, GFP_KERNEL|GFP_DMA)) == NULL)
return NULL;
dmabuf->rawbuf = kmalloc(DMA_SIZE, GFP_KERNEL|GFP_DMA);
if (!dmabuf->rawbuf)
goto err_free_dmabuf;
dmabuf->rawbuf_size = DMA_SIZE;
dmabuf->dma_handle = 0;
dmabuf->rd_ptr = dmabuf->wr_ptr = dmabuf->dma_len = 0UL;
dmabuf->ready = 0;
dmabuf->rate = 44100;
}
out:
return dev;
err_free_dmabuf:
while (--i >= 0)
kfree(dev->state[i].dmabuf.rawbuf);
kfree(dev);
return NULL;
}
static void ad1889_free_dev(ad1889_dev_t *dev)
......
......@@ -726,6 +726,12 @@ static void ac97_write_mixer(struct ess_card *card,int mixer, unsigned int left,
left = (left * mh->scale) / 100;
if ((left == 0) && (right == 0))
val |= 0x8000;
} else if (mixer == SOUND_MIXER_PCM || mixer == SOUND_MIXER_CD) {
/* log conversion seems bad for them */
if ((left == 0) && (right == 0))
val = 0x8000;
right = ((100 - right) * mh->scale) / 100;
left = ((100 - left) * mh->scale) / 100;
} else {
/* log conversion for the stereo controls */
if((left == 0) && (right == 0))
......@@ -1937,12 +1943,12 @@ ess_interrupt(int irq, void *dev_id, struct pt_regs *regs)
manner by adjusting the master mixer volume. */
volume = c->mix.mixer_state[0] & 0xff;
if (vol_evt == UP_EVT) {
volume += 10;
volume += 5;
if (volume > 100)
volume = 100;
}
else if (vol_evt == DOWN_EVT) {
volume -= 10;
volume -= 5;
if (volume < 0)
volume = 0;
} else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment