Commit ab6ba1da authored by Linus Torvalds's avatar Linus Torvalds

Import 2.1.42

parent 27706c90
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
NM := nm -B NM := nm -B
LINKFLAGS = -static -T arch/alpha/vmlinux.lds -N LINKFLAGS = -static -T arch/alpha/vmlinux.lds
CFLAGS := $(CFLAGS) -pipe -mno-fp-regs -ffixed-8 CFLAGS := $(CFLAGS) -pipe -mno-fp-regs -ffixed-8
HEAD := arch/alpha/kernel/head.o HEAD := arch/alpha/kernel/head.o
......
...@@ -501,9 +501,8 @@ static int lp_open(struct inode * inode, struct file * file) ...@@ -501,9 +501,8 @@ static int lp_open(struct inode * inode, struct file * file)
static int lp_release(struct inode * inode, struct file * file) static int lp_release(struct inode * inode, struct file * file)
{ {
unsigned int minor = MINOR(inode->i_rdev); unsigned int minor = MINOR(inode->i_rdev);
unsigned int irq;
if ((irq = LP_IRQ(minor))) { if (LP_IRQ(minor) > 0) {
kfree_s(lp_table[minor].lp_buffer, LP_BUFFER_SIZE); kfree_s(lp_table[minor].lp_buffer, LP_BUFFER_SIZE);
lp_table[minor].lp_buffer = NULL; lp_table[minor].lp_buffer = NULL;
} }
...@@ -707,7 +706,7 @@ __initfunc(int lp_init(void)) ...@@ -707,7 +706,7 @@ __initfunc(int lp_init(void))
lp_table[count].flags |= LP_EXIST; lp_table[count].flags |= LP_EXIST;
printk(KERN_INFO "lp%d: using %s at 0x%x, ", printk(KERN_INFO "lp%d: using %s at 0x%x, ",
count, pb->name, pb->base); count, pb->name, pb->base);
if (pb->irq == -1) if (pb->irq == PARPORT_IRQ_NONE)
printk("polling.\n"); printk("polling.\n");
else else
printk("irq %d.\n", pb->irq); printk("irq %d.\n", pb->irq);
......
...@@ -145,7 +145,7 @@ hw_entry hw_table[] = ...@@ -145,7 +145,7 @@ hw_entry hw_table[] =
char *questions[] = char *questions[] =
{ {
"ProAudioSpectrum 16 support", "ProAudioSpectrum 16 support",
"100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support", "100%% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support",
"Generic OPL2/OPL3 FM synthesizer support", "Generic OPL2/OPL3 FM synthesizer support",
"Gravis Ultrasound support", "Gravis Ultrasound support",
"MPU-401 support (NOT for SB16)", "MPU-401 support (NOT for SB16)",
......
...@@ -12,8 +12,6 @@ ...@@ -12,8 +12,6 @@
/* Internal header file for autofs */ /* Internal header file for autofs */
/* #define DEBUG_WAITLIST 1 */
#include <linux/auto_fs.h> #include <linux/auto_fs.h>
/* This is the range of ioctl() numbers we claim as ours */ /* This is the range of ioctl() numbers we claim as ours */
......
...@@ -16,46 +16,6 @@ ...@@ -16,46 +16,6 @@
#include <linux/file.h> #include <linux/file.h>
#include "autofs_i.h" #include "autofs_i.h"
#ifdef DEBUG_WAITLIST
#ifndef i386
#error Only i386 implemented
#endif
static inline int sane_pointer(void *p)
{
return (p == NULL) || ((unsigned) p > 0xc0000000);
}
void autofs_check_waitlist_integrity(struct autofs_sb_info *sbi, char *op)
{
struct autofs_wait_queue **wqp, *wq;
if ( sbi->magic != AUTOFS_SBI_MAGIC ) {
printk("autofs: CHECK_WAITLIST with bogus sbi pointer: %p\n",
sbi);
return;
}
wqp = &(sbi->queues);
while ( (wq = *wqp) ) {
if ( !sane_pointer(wq) ) {
printk("autofs(%s): wait queue pointer corrupt: ", op);
wqp = &(sbi->queues);
do {
wq = *wqp;
printk(" %p", wq);
wqp = &(wq->next);
} while ( sane_pointer(*wqp) );
printk("\n");
*wqp = NULL;
break;
} else {
wqp = &(wq->next);
}
}
}
#endif
/* We make this a static variable rather than a part of the superblock; it /* We make this a static variable rather than a part of the superblock; it
is better if we don't reassign numbers easily even across filesystems */ is better if we don't reassign numbers easily even across filesystems */
static int autofs_next_wait_queue = 1; static int autofs_next_wait_queue = 1;
...@@ -135,8 +95,6 @@ int autofs_wait(struct autofs_sb_info *sbi, autofs_hash_t hash, const char *name ...@@ -135,8 +95,6 @@ int autofs_wait(struct autofs_sb_info *sbi, autofs_hash_t hash, const char *name
struct autofs_wait_queue *wq; struct autofs_wait_queue *wq;
int status; int status;
CHECK_WAITLIST(sbi,"wait");
for ( wq = sbi->queues ; wq ; wq = wq->next ) { for ( wq = sbi->queues ; wq ; wq = wq->next ) {
if ( wq->hash == hash && if ( wq->hash == hash &&
wq->len == len && wq->len == len &&
...@@ -165,7 +123,7 @@ int autofs_wait(struct autofs_sb_info *sbi, autofs_hash_t hash, const char *name ...@@ -165,7 +123,7 @@ int autofs_wait(struct autofs_sb_info *sbi, autofs_hash_t hash, const char *name
sbi->queues = wq; sbi->queues = wq;
/* autofs_notify_daemon() may block */ /* autofs_notify_daemon() may block */
wq->wait_ctr = 1; wq->wait_ctr = 2;
autofs_notify_daemon(sbi,wq); autofs_notify_daemon(sbi,wq);
} else } else
wq->wait_ctr++; wq->wait_ctr++;
...@@ -190,8 +148,6 @@ int autofs_wait_release(struct autofs_sb_info *sbi, unsigned long wait_queue_tok ...@@ -190,8 +148,6 @@ int autofs_wait_release(struct autofs_sb_info *sbi, unsigned long wait_queue_tok
{ {
struct autofs_wait_queue *wq, **wql; struct autofs_wait_queue *wq, **wql;
CHECK_WAITLIST(sbi,"release");
for ( wql = &sbi->queues ; (wq = *wql) ; wql = &wq->next ) { for ( wql = &sbi->queues ; (wq = *wql) ; wql = &wq->next ) {
if ( wq->wait_queue_token == wait_queue_token ) if ( wq->wait_queue_token == wait_queue_token )
break; break;
...@@ -205,7 +161,10 @@ int autofs_wait_release(struct autofs_sb_info *sbi, unsigned long wait_queue_tok ...@@ -205,7 +161,10 @@ int autofs_wait_release(struct autofs_sb_info *sbi, unsigned long wait_queue_tok
wq->status = status; wq->status = status;
wake_up(&wq->queue); if ( ! --wq->wait_ctr ) /* Is anyone still waiting for this guy? */
kfree(wq);
else
wake_up(&wq->queue);
return 0; return 0;
} }
......
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