2000-11-12 03:22:43

by Linus Torvalds

[permalink] [raw]
Subject: 2.4.0-test11-pre3


Drivers, drivers, drivers. IrDA and ISDN. PPC.

The most interesting part is probably the exclusive wait-queue patch.
David Miller noticed that exclusivity doesn't nest correctly the way we
used to do it: being on multiple wait-queues would potentially cause lost
wake-up events if a non-exclusive waiter got mistaken for an exclusive one
because the exclusive bit was a per-process thing.

Moving the exclusivity bit from the process into the wait-queue cleaned up
the interfaces and also made it nest properly.

No known uses were actually buggy, but at least one case was apparently ok
only by pure luck.

Linus

-----
- pre3:
- James Simmons: vgacon "printk()" deadlock with global irq lock.
- don't poke blanked console on console output
- Ching-Ling: get channels right on ALI audio driver
- Dag Brattli and Jean Tourrilhes: big IrDA update
- Paul Mackerras: PPC updates
- Randy Dunlap: USB ID table support, LEDs with usbkbd, belkin
serial converter.
- Jeff Garzik: pcnet32 and lance net driver fix/cleanup
- Mikael Pettersson: clean up x86 ELF_PLATFORM
- Bartlomiej Zolnierkiewicz: sound and drm driver init fixes and
cleanups
- Al Viro: Jeff missed some kmap()'s. sysctl cleanup
- Kai Germaschewski: ISDN updates
- Alan Cox: SCSI driver NULL ptr checks
- David Miller: networking updates, exclusive waitqueues nest properly,
SMP i_shared_lock/page_table_lock lock order fix.

- pre2:
- Stephen Rothwell: directory notify could return with the lock held
- Richard Henderson: CLOCKS_PER_SEC on alpha.
- Jeff Garzik: ramfs and highmem: kmap() the page to clear it
- Asit Mallick: enable the APIC in the official order
- Neil Brown: avoid rd deadlock on io_request_lock by using a
private rd-request function. This also avoids unnecessary
request merging at this level.
- Ben LaHaise: vmalloc threadign and overflow fix
- Randy Dunlap: USB updates (plusb driver). PCI cacheline size.
- Neil Brown: fix a raid1 on top of lvm bug that crept in in pre1
- Alan Cox: various (Athlon mmx copy, NULL ptr checks for
scsi_register etc).
- Al Viro: fix /proc permission check security hole.
- Can-Ru Yeou: SiS301 fbcon driver
- Andrew Morton: NMI oopser and kernel page fault punch through
both console_lock and timerlist_lock to make sure it prints out..
- Jeff Garzik: clean up "kmap()" return type (it returns a kernel
virtual address, ie a "void *").
- Jeff Garzik: network driver docs, various one-liners.
- David Miller: add generic "special" flag to page flags, to be
used by architectures as they see fit. Like keeping track of
cache coherency issues.
- David Miller: sparc64 updates, make sparc32 boot again
- Davdi Millner: spel "synchronous" correctly
- David Miller: networking - fix some bridge issues, and correct
IPv6 sysctl entries.
- Dan Aloni: make fork.c use proper macro rather than doing
get_exec_domain() by hand.

- pre1:
- me: make PCMCIA work even in the absense of PCI irq's
- me: add irq mapping capabilities for Cyrix southbridges
- me: make IBMMCA compile right as a module
- me: uhhuh. Major atomic-PTE SMP race boo-boo. Fixed.
- Andrea Arkangeli: don't allow people to set security-conscious
bits in mxcsr through ptrace SETFPXREGS.
- J?rgen Fischer: aha152x update
- Andrew Morton, Trond Myklebust: file locking fixes
- me: TLB invalidate race with highmem
- Paul Fulghum: synclink/n_hdlc driver updates
- David Miller: export sysctl_jiffies, and have the proper no-sysctl
version handy
- Neil Brown: RAID driver deadlock and nsfd read access to
execute-only files fix
- Keith Owens: clean up module information passing, remove
"get_module_symbol()".
- Jeff Garzik: network (and other) driver fixes and cleanups
- Andrea Arkangeli: scheduler cleanup.
- Ching-Ling Li: fix ALi sound driver memory leak
- Anton Altaparmakov: upcase fix for NTFS
- Thomas Woller: CS4281 audio update


2000-11-12 09:02:19

by Eyal Lebedinsky

[permalink] [raw]
Subject: Re: 2.4.0-test11-pre3 - md.c compile error

Linus Torvalds wrote:
>
> Drivers, drivers, drivers. IrDA and ISDN. PPC.

Got compile errors in drivers/md/md.c, had to add
#include <linux/fs.h>
before
#include <linux/sysctl.h>

--
Eyal Lebedinsky ([email protected])

2000-11-12 09:56:48

by john slee

[permalink] [raw]
Subject: Re: 2.4.0-test11-pre3 [gus_midi.c breakage]

On Sat, Nov 11, 2000 at 07:22:06PM -0800, Linus Torvalds wrote:
>-----
> - pre3:
> - Bartlomiej Zolnierkiewicz: sound and drm driver init fixes and
> cleanups

this breaks for me, gcc 2.95.2:

gus_midi.c:206: parse error before `gus_midi_init'
gus_midi.c:207: warning: return-type defaults to `int'
gus_midi.c:207: conflicting types for `gus_midi_init'
gus.h:26: previous declaration of `gus_midi_init'
gus_midi.c: In function `gus_midi_init':
gus_midi.c:213: warning: `return' with no value, in function returning non-void
gus_midi.c:221: warning: `return' with no value, in function returning non-void

j.

2000-11-12 10:17:07

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: 2.4.0-test11-pre3

On Sat, 11 Nov 2000, Linus Torvalds wrote:
> - Alan Cox: SCSI driver NULL ptr checks

Which needs the following fix:

--- linux-2.4.0-test11-pre3/drivers/scsi/a2091.c.orig Sun Nov 12 10:50:26 2000
+++ linux-2.4.0-test11-pre3/drivers/scsi/a2091.c Sun Nov 12 11:14:15 2000
@@ -207,8 +207,10 @@
continue;

instance = scsi_register (tpnt, sizeof (struct WD33C93_hostdata));
- if(instance == NULL)
- continue;
+ if (instance == NULL) {
+ release_mem_region(address, 256);
+ continue;
+ }
instance->base = ZTWO_VADDR(address);
instance->irq = IRQ_AMIGA_PORTS;
instance->unique_id = z->slotaddr;

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2000-11-12 11:25:22

by Rasmus Andersen

[permalink] [raw]
Subject: Re: 2.4.0-test11-pre3 [gus_midi.c breakage]

On Sun, Nov 12, 2000 at 08:58:48PM +1100, john slee wrote:
> On Sat, Nov 11, 2000 at 07:22:06PM -0800, Linus Torvalds wrote:
> >-----
> > - pre3:
> > - Bartlomiej Zolnierkiewicz: sound and drm driver init fixes and
> > cleanups
>
> this breaks for me, gcc 2.95.2:
>
> gus_midi.c:206: parse error before `gus_midi_init'
> gus_midi.c:207: warning: return-type defaults to `int'
> gus_midi.c:207: conflicting types for `gus_midi_init'
> gus.h:26: previous declaration of `gus_midi_init'
> gus_midi.c: In function `gus_midi_init':
> gus_midi.c:213: warning: `return' with no value, in function returning non-void
> gus_midi.c:221: warning: `return' with no value, in function returning non-void
>

The following trivial patch should fix this.


--- linux-240-t11-pre3-clean/drivers/sound/gus_midi.c Sun Nov 12 09:46:14 2000
+++ linux/drivers/sound/gus_midi.c Sun Nov 12 12:14:46 2000
@@ -14,6 +14,8 @@
* 11-10-2000 Bartlomiej Zolnierkiewicz <[email protected]>
* Added __init to gus_midi_init()
*/
+
+#include "linux/init.h"
#include "sound_config.h"

#include "gus.h"


--
Regards,
Rasmus([email protected])

``When the president does it, that means that it is not illegal.''
--Richard M. Nixon, TV interview with David Frost, 1977 May 4

2000-11-12 11:39:34

by Rasmus Andersen

[permalink] [raw]
Subject: Re: 2.4.0-test11-pre3 [gus_midi.c breakage]

On Sun, Nov 12, 2000 at 12:17:07PM +0100, Rasmus Andersen wrote:
> On Sun, Nov 12, 2000 at 08:58:48PM +1100, john slee wrote:
> > On Sat, Nov 11, 2000 at 07:22:06PM -0800, Linus Torvalds wrote:
> > >-----
> > > - pre3:
> > > - Bartlomiej Zolnierkiewicz: sound and drm driver init fixes and
> > > cleanups
> >

It seems like this touched more than just gus_midi.c. The following
patch are similarly trivial as the previously posted and therefore
are bunched together. They should fix the sound/ drivers.

--- linux-240-t11-pre3-clean/drivers/sound/gus_wave.c Sun Nov 12 09:46:14 2000
+++ linux/drivers/sound/gus_wave.c Sun Nov 12 12:20:08 2000
@@ -17,7 +17,7 @@
* Bartlomiej Zolnierkiewicz : added some __init/__exit
*/

-
+#include <linux/init.h>
#include <linux/config.h>

#define GUSPNP_AUTODETECT
--- linux-240-t11-pre3-clean/drivers/sound/ics2101.c Sun Nov 12 09:46:14 2000
+++ linux/drivers/sound/ics2101.c Sun Nov 12 12:21:53 2000
@@ -14,6 +14,7 @@
* Thomas Sailer : ioctl code reworked (vmalloc/vfree removed)
* Bartlomiej Zolnierkiewicz : added __init to ics2101_mixer_init()
*/
+#include <linux/init.h>
#include "sound_config.h"

#include <linux/ultrasound.h>
--- linux-240-t11-pre3-clean/drivers/sound/pas2_midi.c Sun Nov 12 09:46:14 2000
+++ linux/drivers/sound/pas2_midi.c Sun Nov 12 12:24:24 2000
@@ -13,6 +13,7 @@
* Bartlomiej Zolnierkiewicz : Added __init to pas_init_mixer()
*/

+#include <linux/init.h>
#include "sound_config.h"

#include "pas2.h"
--- linux-240-t11-pre3-clean/drivers/sound/pas2_mixer.c Sun Nov 12 09:46:14 2000
+++ linux/drivers/sound/pas2_mixer.c Sun Nov 12 12:25:16 2000
@@ -16,6 +16,7 @@
* Thomas Sailer : ioctl code reworked (vmalloc/vfree removed)
* Bartlomiej Zolnierkiewicz : added __init to pas_init_mixer()
*/
+#include <linux/init.h>
#include "sound_config.h"

#include "pas2.h"
--- linux-240-t11-pre3-clean/drivers/sound/pas2_pcm.c Sun Nov 12 09:46:14 2000
+++ linux/drivers/sound/pas2_pcm.c Sun Nov 12 12:26:49 2000
@@ -15,6 +15,7 @@
* Bartlomiej Zolnierkiewicz : Added __init to pas_pcm_init()
*/

+#include <linux/init.h>
#include "sound_config.h"

#include "pas2.h"


--
Regards,
Rasmus([email protected])

"An intellectual is someone whose mind watches itself."
-- Albert Camus (1913-1960)

2000-11-12 19:23:32

by Rasmus Andersen

[permalink] [raw]
Subject: Re: 2.4.0-test11-pre3 [gus_midi.c breakage]

On Sun, Nov 12, 2000 at 12:31:26PM +0100, Rasmus Andersen wrote:
> On Sun, Nov 12, 2000 at 12:17:07PM +0100, Rasmus Andersen wrote:
> > On Sun, Nov 12, 2000 at 08:58:48PM +1100, john slee wrote:
> > > On Sat, Nov 11, 2000 at 07:22:06PM -0800, Linus Torvalds wrote:
> > > >-----
> > > > - pre3:
> > > > - Bartlomiej Zolnierkiewicz: sound and drm driver init fixes and
> > > > cleanups
> > >
>
> It seems like this touched more than just gus_midi.c. The following
> patch are similarly trivial as the previously posted and therefore
> are bunched together. They should fix the sound/ drivers.
>

Hrmmm. Missed one that pops up when I compile for modules. Patch
attached.

--- linux-240-t11-pre3-clean/drivers/sound/yss225.c Sun Nov 12 09:46:14 2000
+++ linux/drivers/sound/yss225.c Sun Nov 12 20:12:24 2000
@@ -1,3 +1,5 @@
+#include <linux/init.h>
+
unsigned char page_zero[] __initdata = {
0x01, 0x7c, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf5, 0x00,
0x11, 0x00, 0x20, 0x00, 0x32, 0x00, 0x40, 0x00, 0x13, 0x00, 0x00,

--
Regards,
Rasmus([email protected])

Real computer scientists don't program in assembler. They don't write in
anything less portable than a number two pencil. -- Anonymous

2000-11-15 15:48:11

by Tim Waugh

[permalink] [raw]
Subject: Re: 2.4.0-test11-pre3

I didn't see this in the ChangeLog. Does this need backporting to
2.2.x as well?

Tim.
*/

Index: drivers/scsi/ppa.c
===================================================================
RCS file: /usr/local/src/cvsroot/linux/drivers/scsi/ppa.c,v
retrieving revision 1.5
diff -d -u -r1.5 ppa.c
--- drivers/scsi/ppa.c 2000/09/25 16:46:52 1.5
+++ drivers/scsi/ppa.c 2000/11/15 15:17:33
@@ -194,6 +194,8 @@
host->can_queue = PPA_CAN_QUEUE;
host->sg_tablesize = ppa_sg;
hreg = scsi_register(host, 0);
+ if(hreg == NULL)
+ continue;
hreg->io_port = pb->base;
hreg->n_io_port = ports;
hreg->dma_channel = -1;
Index: drivers/scsi/imm.c
===================================================================
RCS file: /usr/local/src/cvsroot/linux/drivers/scsi/imm.c,v
retrieving revision 1.7
diff -d -u -r1.7 imm.c
--- drivers/scsi/imm.c 2000/10/31 16:55:22 1.7
+++ drivers/scsi/imm.c 2000/11/15 15:17:33
@@ -198,6 +198,8 @@
host->can_queue = IMM_CAN_QUEUE;
host->sg_tablesize = imm_sg;
hreg = scsi_register(host, 0);
+ if(hreg == NULL)
+ continue;
hreg->io_port = pb->base;
hreg->n_io_port = ports;
hreg->dma_channel = -1;