* Re: 2.4.19-rc2 -> 2.4.19-rc3 : no more eth (fwd)
[not found] ` <3D3E1FB8.20CB0F@zip.com.au>
@ 2002-07-25 17:01 ` Marc Duponcheel
2002-07-25 19:19 ` Andrew Morton
0 siblings, 1 reply; 7+ messages in thread
From: Marc Duponcheel @ 2002-07-25 17:01 UTC (permalink / raw)
To: linux-kernel; +Cc: Andrew Morton, Marcelo Tosatti, Jeff Garzik, Alan Cox
On Tue, Jul 23, 2002 at 08:32:08PM -0700, Andrew Morton wrote:
> Marcelo Tosatti wrote:
...
> > Warning (compare_Version): Version mismatch. 3c59x says 2.4.18, System.map says 2.4.19. Expect lots of address mismatches.
>
> This is a worry. Are we sure it was a clean build?
> Please do a `make mrproper' and retest?
Recall,
This is about ethernet interfaces not initialising (and hence not working)
with 2.4.19-rc3 (they do initialise and work with 2.4.19-rc2).
As suggested, I have, for all certainty, repatched linux-2.4.18.tar.gz with patch-2.4.19-rc3.gz
and rebuilt from a 'mrproper' /usr/src/linux, but the issue remains.
This time I ran ksymoops on the 2.4.19-rc3 system so no more mismatches
When doing 'lsmod' one sees the modules eepro100 and 3c59x as 'initialising'
and one cannot 'rmmod' them because they are 'busy'.
PS: I am making vmlinux-es for many many years now on several platforms
and this issue, I must admit, is one of the most surprising ones, after
a fresh kernel reboot.
In general I use latest software (modutils, gcc etc...)
Thanks for your valuable time
here is the decoded oops
apparently the oops is in pci_register_driver
==========================================================================================
ksymoops 2.4.4 on i686 2.4.19-rc3. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.19-rc3/ (default)
-m /boot/System.map-2.4.19-rc3 (default)
Warning: You did not tell me where to find symbol information. I will
assume that the log matches the kernel and modules that are running
right now and I'll use the default options above for symbol resolution.
If the current kernel and/or modules do not match the log, you can get
more accurate output by telling me the kernel version and where to find
map, modules, ksyms etc. ksymoops -h explains the options.
c01a21a7
Oops: 0002
CPU: 0
EIP: 0010:[<c01a21a7>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010292
eax: d0ca6640 ebx: ffffffea ecx: c102c01c edx: c02281e4
esi: d0cb5d00 edi: 00000000 ebp: d0cb1000 esp: cfaf7ef8
ds: 0018 es: 0018 ss: 0018
Process modprobe (pid: 358, stackpage=cfaf7000)
Stack: c02281d0 c102c01c ffffffea 00000000 00000000 d0cb4302 d0cb5d00 00000000
ffffffea c011d82b d0cb1060 08083ec0 00004cf0 00000000 0808868c 0000482c
00000060 00000060 00000008 cfc7ce80 cf5a7000 cf5a8000 00000060 d0cae000
Call Trace: [<d0cb4302>] [<d0cb5d00>] [<c011d82b>] [<d0cb1060>] [<d0cb1060>]
[<c010902b>]
Code: 89 30 8b 1d e8 2b 23 c0 89 35 f4 2b 23 c0 89 46 04 81 fb e8
>>EIP; c01a21a7 <pci_register_driver+17/60> <=====
Trace; d0cb4302 <[eepro100]eepro100_init_module+42/70>
Trace; d0cb5d00 <[eepro100]eepro100_driver+0/3f>
Trace; c011d82b <sys_init_module+4db/630>
Trace; d0cb1060 <[eepro100]eepro100_init_one+0/20>
Trace; d0cb1060 <[eepro100]eepro100_init_one+0/20>
Trace; c010902b <system_call+33/38>
Code; c01a21a7 <pci_register_driver+17/60>
00000000 <_EIP>:
Code; c01a21a7 <pci_register_driver+17/60> <=====
0: 89 30 mov %esi,(%eax) <=====
Code; c01a21a9 <pci_register_driver+19/60>
2: 8b 1d e8 2b 23 c0 mov 0xc0232be8,%ebx
Code; c01a21af <pci_register_driver+1f/60>
8: 89 35 f4 2b 23 c0 mov %esi,0xc0232bf4
Code; c01a21b5 <pci_register_driver+25/60>
e: 89 46 04 mov %eax,0x4(%esi)
Code; c01a21b8 <pci_register_driver+28/60>
11: 81 fb e8 00 00 00 cmp $0xe8,%ebx
<1>Unable to handle kernel paging request at virtual address d0ca6640
c01a21a7
Oops: 0002
CPU: 0
EIP: 0010:[<c01a21a7>] Not tainted
EFLAGS: 00010292
eax: d0ca6640 ebx: ffffffea ecx: c102c01c edx: c02281f0
esi: d0cbdc00 edi: 00000000 ebp: d0cb7000 esp: cf5bbef8
ds: 0018 es: 0018 ss: 0018
Process modprobe (pid: 383, stackpage=cf5bb000)
Stack: c02281d0 c102c01c ffffffea 00000000 00000000 d0cbb569 d0cbdc00 ffffffea
00000000 c011d82b d0cb7060 08086c48 00006c08 00000000 0808cf48 00006360
00000060 00000060 00000005 cfc7cec0 cf588000 cf589000 00000060 d0cb1000
Call Trace: [<d0cbb569>] [<d0cbdc00>] [<c011d82b>] [<d0cb7060>] [<d0cb7060>]
[<c010902b>]
Code: 89 30 8b 1d e8 2b 23 c0 89 35 f4 2b 23 c0 89 46 04 81 fb e8
>>EIP; c01a21a7 <pci_register_driver+17/60> <=====
Trace; d0cbb569 <[3c59x]vortex_init+19/90>
Trace; d0cbdc00 <[3c59x]vortex_driver+0/3f>
Trace; c011d82b <sys_init_module+4db/630>
Trace; d0cb7060 <[3c59x]vortex_suspend+0/20>
Trace; d0cb7060 <[3c59x]vortex_suspend+0/20>
Trace; c010902b <system_call+33/38>
Code; c01a21a7 <pci_register_driver+17/60>
00000000 <_EIP>:
Code; c01a21a7 <pci_register_driver+17/60> <=====
0: 89 30 mov %esi,(%eax) <=====
Code; c01a21a9 <pci_register_driver+19/60>
2: 8b 1d e8 2b 23 c0 mov 0xc0232be8,%ebx
Code; c01a21af <pci_register_driver+1f/60>
8: 89 35 f4 2b 23 c0 mov %esi,0xc0232bf4
Code; c01a21b5 <pci_register_driver+25/60>
e: 89 46 04 mov %eax,0x4(%esi)
Code; c01a21b8 <pci_register_driver+28/60>
11: 81 fb e8 00 00 00 cmp $0xe8,%ebx
c01a21a7
Oops: 0002
CPU: 0
EIP: 0010:[<c01a21a7>] Not tainted
EFLAGS: 00010296
eax: d0ca6640 ebx: 00000202 ecx: c102c01c edx: c02281e4
esi: d0d705a0 edi: 00000000 ebp: d0d704a0 esp: cd51fe9c
ds: 0018 es: 0018 ss: 0018
Process modprobe (pid: 1447, stackpage=cd51f000)
Stack: c02281d0 c0228350 00000202 00000000 d0d704a0 d0d58433 d0d705a0 00000202
d0d53962 d0d704a0 00001000 00000202 00000000 00000001 d0d4571c d0d704a0
c02281d0 c0228334 000001ff 00000202 00000000 c100001c c123c754 c02281d0
Call Trace: [<d0d704a0>] [<d0d58433>] [<d0d705a0>] [<d0d53962>] [<d0d704a0>]
[<d0d4571c>] [<d0d704a0>] [<d0d57191>] [<d0d704a0>] [<d0d704a0>] [<c011d82b>]
[<d0d53060>] [<d0d6ff08>] [<d0d53060>] [<c010902b>]
Code: 89 30 8b 1d e8 2b 23 c0 89 35 f4 2b 23 c0 89 46 04 81 fb e8
>>EIP; c01a21a7 <pci_register_driver+17/60> <=====
Trace; d0d704a0 <[aic7xxx]driver_template+0/6c>
Trace; d0d58433 <[aic7xxx]ahc_linux_pci_probe+13/40>
Trace; d0d705a0 <[aic7xxx]aic7xxx_pci_driver+0/40>
Trace; d0d53962 <[aic7xxx]ahc_linux_detect+42/b0>
Trace; d0d704a0 <[aic7xxx]driver_template+0/6c>
Trace; d0d4571c <[scsi_mod]scsi_register_host+5c/300>
Trace; d0d704a0 <[aic7xxx]driver_template+0/6c>
Trace; d0d57191 <[aic7xxx]init_this_scsi_driver+21/50>
Trace; d0d704a0 <[aic7xxx]driver_template+0/6c>
Trace; d0d704a0 <[aic7xxx]driver_template+0/6c>
Trace; c011d82b <sys_init_module+4db/630>
Trace; d0d53060 <[aic7xxx]ahc_print_path+0/0>
Trace; d0d6ff08 <[aic7xxx].rodata.end+4845/4bfd>
Trace; d0d53060 <[aic7xxx]ahc_print_path+0/0>
Trace; c010902b <system_call+33/38>
Code; c01a21a7 <pci_register_driver+17/60>
00000000 <_EIP>:
Code; c01a21a7 <pci_register_driver+17/60> <=====
0: 89 30 mov %esi,(%eax) <=====
Code; c01a21a9 <pci_register_driver+19/60>
2: 8b 1d e8 2b 23 c0 mov 0xc0232be8,%ebx
Code; c01a21af <pci_register_driver+1f/60>
8: 89 35 f4 2b 23 c0 mov %esi,0xc0232bf4
Code; c01a21b5 <pci_register_driver+25/60>
e: 89 46 04 mov %eax,0x4(%esi)
Code; c01a21b8 <pci_register_driver+28/60>
11: 81 fb e8 00 00 00 cmp $0xe8,%ebx
1 warning issued. Results may not be reliable.
==========================================================================================
--
Greetings,
Marc Duponcheel Multicast Development Engineer Cisco Systems
email: mduponch@cisco.com tel: +32 2 704 52 40 cell: +32 478 68 10 91
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.4.19-rc2 -> 2.4.19-rc3 : no more eth (fwd)
2002-07-25 17:01 ` 2.4.19-rc2 -> 2.4.19-rc3 : no more eth (fwd) Marc Duponcheel
@ 2002-07-25 19:19 ` Andrew Morton
2002-07-26 7:36 ` Thunder from the hill
2002-07-26 13:38 ` Marc Duponcheel
0 siblings, 2 replies; 7+ messages in thread
From: Andrew Morton @ 2002-07-25 19:19 UTC (permalink / raw)
To: Marc Duponcheel; +Cc: linux-kernel, Marcelo Tosatti, Jeff Garzik, Alan Cox
Marc Duponcheel wrote:
>
> On Tue, Jul 23, 2002 at 08:32:08PM -0700, Andrew Morton wrote:
> > Marcelo Tosatti wrote:
> ...
> > > Warning (compare_Version): Version mismatch. 3c59x says 2.4.18, System.map says 2.4.19. Expect lots of address mismatches.
> >
> > This is a worry. Are we sure it was a clean build?
> > Please do a `make mrproper' and retest?
>
> Recall,
>
> This is about ethernet interfaces not initialising (and hence not working)
> with 2.4.19-rc3 (they do initialise and work with 2.4.19-rc2).
>
> As suggested, I have, for all certainty, repatched linux-2.4.18.tar.gz with patch-2.4.19-rc3.gz
> and rebuilt from a 'mrproper' /usr/src/linux, but the issue remains.
>
> This time I ran ksymoops on the 2.4.19-rc3 system so no more mismatches
>
> When doing 'lsmod' one sees the modules eepro100 and 3c59x as 'initialising'
> and one cannot 'rmmod' them because they are 'busy'.
>
Odd. There's not a lot of difference between -rc2 and -rc3.
The entire diff is below. You didn't switch compilers or
something?
Makefile | 2
arch/i386/kernel/apm.c | 4 -
arch/i386/kernel/pci-irq.c | 4 +
arch/i386/kernel/traps.c | 11 ++--
drivers/char/agp/agp.h | 3 +
drivers/char/agp/agpgart_be.c | 12 ++++
drivers/ide/ide-features.c | 6 ++
drivers/ide/ide-pci.c | 2
drivers/media/radio/radio-zoltrix.c | 3 -
drivers/net/wireless/orinoco_plx.c | 2
drivers/pci/names.c | 10 +--
drivers/pci/quirks.c | 16 ++++++
drivers/scsi/aha152x.c | 6 ++
drivers/scsi/atp870u.c | 23 ++++++--
drivers/scsi/megaraid.c | 8 +--
drivers/scsi/scsi_scan.c | 9 +++
drivers/sound/cs4232.c | 38 ++++++++++++++
drivers/sound/maestro.c | 10 +++
drivers/usb/rtl8150.c | 2
include/linux/agp_backend.h | 1
include/linux/pci_ids.h | 8 +--
include/linux/personality.h | 3 -
mm/shmem.c | 1
net/ipv4/netfilter/ip_conntrack_core.c | 8 +--
net/rose/af_rose.c | 6 +-
scripts/kernel-doc | 86 +++++++++++++++++++++++++--------
26 files changed, 226 insertions, 58 deletions
Could you please back out the changes until the problem
goes away?
This script which someone wrote will break the diff into
standalone chunks. Suggest you start with the patch
against drivers/pci/names.c.
#!/usr/bin/perl -w
$out = "";
while (<>) {
next if (/^Only/);
next if (/^Binary/);
if (/^diff/ || /^Index/) {
if ($out) {
close OUT;
}
(@out) = split(' ', $_);
shift(@out) if (/^diff/);
$out = pop(@out);
$out =~ s:/*usr/:/:;
$out =~ s:/*src/:/:;
$out =~ s:^/*linux[^/]*::;
$out =~ s:\(w\)::;
next if ($out eq "");
$out = "/var/tmp/patches/$out";
$dir = $out;
$dir =~ s:/[^/]*$::;
print STDERR "$out\n";
system("mkdir -p $dir");
open(OUT, ">$out") || die("cannot open $out");
}
if ($out) {
print OUT $_;
}
}
diff -uNrp linux-2.4.19-rc2/Makefile linux-2.4.19-rc3/Makefile
--- linux-2.4.19-rc2/Makefile Sun Jul 21 20:16:21 2002
+++ linux-2.4.19-rc3/Makefile Sun Jul 21 22:07:56 2002
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 19
-EXTRAVERSION = -rc2
+EXTRAVERSION = -rc3
KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
diff -uNrp linux-2.4.19-rc2/arch/i386/kernel/apm.c linux-2.4.19-rc3/arch/i386/kernel/apm.c
--- linux-2.4.19-rc2/arch/i386/kernel/apm.c Sun Jul 21 20:16:22 2002
+++ linux-2.4.19-rc3/arch/i386/kernel/apm.c Sun Jul 21 22:07:56 2002
@@ -1198,12 +1198,12 @@ static int suspend(int vetoable)
printk(KERN_CRIT "apm: suspend was vetoed, but suspending anyway.\n");
}
get_time_diff();
- cli();
+ __cli();
err = set_system_power_state(APM_STATE_SUSPEND);
reinit_timer();
set_time();
ignore_normal_resume = 1;
- sti();
+ __sti();
if (err == APM_NO_ERROR)
err = APM_SUCCESS;
if (err != APM_SUCCESS)
diff -uNrp linux-2.4.19-rc2/arch/i386/kernel/pci-irq.c linux-2.4.19-rc3/arch/i386/kernel/pci-irq.c
--- linux-2.4.19-rc2/arch/i386/kernel/pci-irq.c Sun Jul 21 20:16:22 2002
+++ linux-2.4.19-rc3/arch/i386/kernel/pci-irq.c Sun Jul 21 22:07:56 2002
@@ -489,6 +489,10 @@ static struct irq_router pirq_routers[]
pirq_serverworks_get, pirq_serverworks_set },
{ "AMD756 VIPER", PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_740B,
pirq_amd756_get, pirq_amd756_set },
+ { "AMD766", PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7413,
+ pirq_amd756_get, pirq_amd756_set },
+ { "AMD768", PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7443,
+ pirq_amd756_get, pirq_amd756_set },
{ "default", 0, 0, NULL, NULL }
};
diff -uNrp linux-2.4.19-rc2/arch/i386/kernel/traps.c linux-2.4.19-rc3/arch/i386/kernel/traps.c
--- linux-2.4.19-rc2/arch/i386/kernel/traps.c Sun Jul 21 20:16:22 2002
+++ linux-2.4.19-rc3/arch/i386/kernel/traps.c Sun Jul 21 22:07:56 2002
@@ -139,14 +139,14 @@ void show_trace(unsigned long * stack)
if (!stack)
stack = (unsigned long*)&stack;
- printk("Call Trace: ");
+ printk("Call Trace: ");
i = 1;
while (((long) stack & (THREAD_SIZE-1)) != 0) {
addr = *stack++;
if (kernel_text_address(addr)) {
if (i && ((i % 6) == 0))
- printk("\n ");
- printk("[<%08lx>] ", addr);
+ printk("\n ");
+ printk(" [<%08lx>]", addr);
i++;
}
}
@@ -618,9 +618,10 @@ void math_error(void *eip)
default:
break;
case 0x001: /* Invalid Op */
- case 0x040: /* Stack Fault */
- case 0x240: /* Stack Fault | Direction */
+ case 0x041: /* Stack Fault */
+ case 0x241: /* Stack Fault | Direction */
info.si_code = FPE_FLTINV;
+ /* Should we clear the SF or let user space do it ???? */
break;
case 0x002: /* Denormalize */
case 0x010: /* Underflow */
diff -uNrp linux-2.4.19-rc2/drivers/char/agp/agp.h linux-2.4.19-rc3/drivers/char/agp/agp.h
--- linux-2.4.19-rc2/drivers/char/agp/agp.h Sun Jul 21 20:16:24 2002
+++ linux-2.4.19-rc3/drivers/char/agp/agp.h Sun Jul 21 22:07:59 2002
@@ -265,6 +265,9 @@ struct agp_bridge_data {
#ifndef PCI_DEVICE_ID_AL_M1651_0
#define PCI_DEVICE_ID_AL_M1651_0 0x1651
#endif
+#ifndef PCI_DEVICE_ID_AL_M1671_0
+#define PCI_DEVICE_ID_AL_M1671_0 0x1671
+#endif
/* intel register */
#define INTEL_APBASE 0x10
diff -uNrp linux-2.4.19-rc2/drivers/char/agp/agpgart_be.c linux-2.4.19-rc3/drivers/char/agp/agpgart_be.c
--- linux-2.4.19-rc2/drivers/char/agp/agpgart_be.c Sun Jul 21 20:16:24 2002
+++ linux-2.4.19-rc3/drivers/char/agp/agpgart_be.c Sun Jul 21 22:07:59 2002
@@ -3946,6 +3946,12 @@ static struct {
"Ali",
"M1651",
ali_generic_setup },
+ { PCI_DEVICE_ID_AL_M1671_0,
+ PCI_VENDOR_ID_AL,
+ ALI_M1671,
+ "Ali",
+ "M1671",
+ ali_generic_setup },
{ 0,
PCI_VENDOR_ID_AL,
ALI_GENERIC,
@@ -4094,6 +4100,12 @@ static struct {
"SiS",
"735",
sis_generic_setup },
+ { PCI_DEVICE_ID_SI_745,
+ PCI_VENDOR_ID_SI,
+ SIS_GENERIC,
+ "SiS",
+ "745",
+ sis_generic_setup },
{ PCI_DEVICE_ID_SI_730,
PCI_VENDOR_ID_SI,
SIS_GENERIC,
diff -uNrp linux-2.4.19-rc2/drivers/ide/ide-features.c linux-2.4.19-rc3/drivers/ide/ide-features.c
--- linux-2.4.19-rc2/drivers/ide/ide-features.c Sun Jul 21 20:16:25 2002
+++ linux-2.4.19-rc3/drivers/ide/ide-features.c Sun Jul 21 22:07:59 2002
@@ -240,13 +240,16 @@ int set_transfer (ide_drive_t *drive, id
return 0;
}
+#ifdef CONFIG_BLK_DEV_IDEDMA
/*
* All hosts that use the 80c ribbon mus use!
*/
byte eighty_ninty_three (ide_drive_t *drive)
{
+#ifdef CONFIG_BLK_DEV_IDEPCI
if (HWIF(drive)->pci_devid.vid==0x105a)
return(HWIF(drive)->udma_four);
+#endif
/* PDC202XX: that's because some HDD will return wrong info */
return ((byte) ((HWIF(drive)->udma_four) &&
#ifndef CONFIG_IDEDMA_IVB
@@ -254,6 +257,7 @@ byte eighty_ninty_three (ide_drive_t *dr
#endif /* CONFIG_IDEDMA_IVB */
(drive->id->hw_config & 0x6000)) ? 1 : 0);
}
+#endif // CONFIG_BLK_DEV_IDEDMA
/*
* Similar to ide_wait_stat(), except it never calls ide_error internally.
@@ -374,6 +378,8 @@ EXPORT_SYMBOL(ide_auto_reduce_xfer);
EXPORT_SYMBOL(ide_driveid_update);
EXPORT_SYMBOL(ide_ata66_check);
EXPORT_SYMBOL(set_transfer);
+#ifdef CONFIG_BLK_DEV_IDEDMA
EXPORT_SYMBOL(eighty_ninty_three);
+#endif // CONFIG_BLK_DEV_IDEDMA
EXPORT_SYMBOL(ide_config_drive_speed);
diff -uNrp linux-2.4.19-rc2/drivers/ide/ide-pci.c linux-2.4.19-rc3/drivers/ide/ide-pci.c
--- linux-2.4.19-rc2/drivers/ide/ide-pci.c Sun Jul 21 20:16:25 2002
+++ linux-2.4.19-rc3/drivers/ide/ide-pci.c Sun Jul 21 22:07:59 2002
@@ -669,7 +669,7 @@ check_if_enabled:
*/
pciirq = dev->irq;
-#ifdef CONFIG_PDC202XX_FORCE
+#ifndef CONFIG_PDC202XX_FORCE
if (dev->class >> 8 == PCI_CLASS_STORAGE_RAID) {
/*
* By rights we want to ignore Promise FastTrak and SuperTrak
diff -uNrp linux-2.4.19-rc2/drivers/media/radio/radio-zoltrix.c linux-2.4.19-rc3/drivers/media/radio/radio-zoltrix.c
--- linux-2.4.19-rc2/drivers/media/radio/radio-zoltrix.c Sun Sep 30 12:26:06 2001
+++ linux-2.4.19-rc3/drivers/media/radio/radio-zoltrix.c Sun Jul 21 22:07:59 2002
@@ -23,6 +23,7 @@
* (can detect if station is in stereo)
* - Added unmute function
* - Reworked ioctl functions
+ * 2002-07-15 - Fix Stereo typo
*/
#include <linux/module.h> /* Modules */
@@ -280,7 +281,7 @@ static int zol_ioctl(struct video_device
struct video_audio v;
memset(&v, 0, sizeof(v));
v.flags |= VIDEO_AUDIO_MUTABLE | VIDEO_AUDIO_VOLUME;
- v.mode != zol_is_stereo(zol)
+ v.mode |= zol_is_stereo(zol)
? VIDEO_SOUND_STEREO : VIDEO_SOUND_MONO;
v.volume = zol->curvol * 4096;
v.step = 4096;
diff -uNrp linux-2.4.19-rc2/drivers/net/wireless/orinoco_plx.c linux-2.4.19-rc3/drivers/net/wireless/orinoco_plx.c
--- linux-2.4.19-rc2/drivers/net/wireless/orinoco_plx.c Sun Jul 21 20:16:26 2002
+++ linux-2.4.19-rc3/drivers/net/wireless/orinoco_plx.c Sun Jul 21 22:08:00 2002
@@ -385,7 +385,7 @@ static struct pci_driver orinoco_plx_dri
name:"orinoco_plx",
id_table:orinoco_plx_pci_id_table,
probe:orinoco_plx_init_one,
- remove:orinoco_plx_remove_one,
+ remove:__devexit_p(orinoco_plx_remove_one),
suspend:0,
resume:0
};
diff -uNrp linux-2.4.19-rc2/drivers/pci/names.c linux-2.4.19-rc3/drivers/pci/names.c
--- linux-2.4.19-rc2/drivers/pci/names.c Fri Nov 9 14:03:11 2001
+++ linux-2.4.19-rc3/drivers/pci/names.c Sun Jul 21 22:08:00 2002
@@ -32,18 +32,18 @@ struct pci_vendor_info {
* real memory.. Parse the same file multiple times
* to get all the info.
*/
-#define VENDOR( vendor, name ) static char __vendorstr_##vendor[] __initdata = name;
+#define VENDOR( vendor, name ) static char __vendorstr_##vendor[] __devinitdata = name;
#define ENDVENDOR()
-#define DEVICE( vendor, device, name ) static char __devicestr_##vendor##device[] __initdata = name;
+#define DEVICE( vendor, device, name ) static char __devicestr_##vendor##device[] __devinitdata = name;
#include "devlist.h"
-#define VENDOR( vendor, name ) static struct pci_device_info __devices_##vendor[] __initdata = {
+#define VENDOR( vendor, name ) static struct pci_device_info __devices_##vendor[] __devinitdata = {
#define ENDVENDOR() };
#define DEVICE( vendor, device, name ) { 0x##device, 0, __devicestr_##vendor##device },
#include "devlist.h"
-static struct pci_vendor_info __initdata pci_vendor_list[] = {
+static struct pci_vendor_info __devinitdata pci_vendor_list[] = {
#define VENDOR( vendor, name ) { 0x##vendor, sizeof(__devices_##vendor) / sizeof(struct pci_device_info), __vendorstr_##vendor, __devices_##vendor },
#define ENDVENDOR()
#define DEVICE( vendor, device, name )
@@ -121,7 +121,7 @@ pci_class_name(u32 class)
#else
-void __init pci_name_device(struct pci_dev *dev)
+void __devinit pci_name_device(struct pci_dev *dev)
{
}
diff -uNrp linux-2.4.19-rc2/drivers/pci/quirks.c linux-2.4.19-rc3/drivers/pci/quirks.c
--- linux-2.4.19-rc2/drivers/pci/quirks.c Sun Jul 21 20:16:26 2002
+++ linux-2.4.19-rc3/drivers/pci/quirks.c Sun Jul 21 22:08:00 2002
@@ -457,10 +457,26 @@ static void __init quirk_amd_ordering(st
}
/*
+ * DreamWorks provided workaround for Dunord I-3000 problem
+ *
+ * This card decodes and responds to addresses not apparently
+ * assigned to it. We force a larger allocation to ensure that
+ * nothing gets put too close to it.
+ */
+
+static void __init quirk_dunord ( struct pci_dev * dev )
+{
+ struct resource * r = & dev -> resource [ 1 ];
+ r -> start = 0;
+ r -> end = 0xffffff;
+}
+
+/*
* The main table of quirks.
*/
static struct pci_fixup pci_fixups[] __initdata = {
+ { PCI_FIXUP_HEADER, PCI_VENDOR_ID_DUNORD, PCI_DEVICE_ID_DUNORD_I3000, quirk_dunord },
{ PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release },
{ PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release },
/*
diff -uNrp linux-2.4.19-rc2/drivers/scsi/aha152x.c linux-2.4.19-rc3/drivers/scsi/aha152x.c
--- linux-2.4.19-rc2/drivers/scsi/aha152x.c Sun Jul 21 20:16:27 2002
+++ linux-2.4.19-rc3/drivers/scsi/aha152x.c Sun Jul 21 22:08:01 2002
@@ -1368,7 +1368,13 @@ int aha152x_detect(Scsi_Host_Template *
printk(KERN_INFO "aha152x%d: trying software interrupt, ", HOSTNO);
SETPORT(DMACNTRL0, SWINT|INTEN);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+ spin_unlock_irq(&io_request_lock);
+#endif
mdelay(1000);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
+ spin_lock_irq(&io_request_lock);
+#endif
free_irq(shpnt->irq, shpnt);
if (!HOSTDATA(shpnt)->swint) {
diff -uNrp linux-2.4.19-rc2/drivers/scsi/atp870u.c linux-2.4.19-rc3/drivers/scsi/atp870u.c
--- linux-2.4.19-rc2/drivers/scsi/atp870u.c Sun Sep 30 12:26:07 2001
+++ linux-2.4.19-rc3/drivers/scsi/atp870u.c Sun Jul 21 22:08:01 2002
@@ -11,7 +11,8 @@
* enable 32 bit fifo transfer
* support cdrom & remove device run ultra speed
* fix disconnect bug 2000/12/21
- * support atp880 chip lvd u160 2001/05/15 (7.1)
+ * support atp880 chip lvd u160 2001/05/15
+ * fix prd table bug 2001/09/12 (7.1)
*/
#include <linux/module.h>
@@ -803,8 +804,18 @@ oktosend:
sgpnt = (struct scatterlist *) workrequ->request_buffer;
i = 0;
for (j = 0; j < workrequ->use_sg; j++) {
- (unsigned long) (((unsigned long *) (prd))[i >> 1]) = virt_to_bus(sgpnt[j].address);
- (unsigned short int) (((unsigned short int *) (prd))[i + 2]) = sgpnt[j].length;
+ bttl = virt_to_bus(sgpnt[j].address);
+ l = sgpnt[j].length;
+ while (l > 0x10000) {
+ (unsigned short int) (((unsigned short int *) (prd))[i + 3]) = 0x0000;
+ (unsigned short int) (((unsigned short int *) (prd))[i + 2]) = 0x0000;
+ (unsigned long) (((unsigned long *) (prd))[i >> 1]) = bttl;
+ l -= 0x10000;
+ bttl += 0x10000;
+ i += 0x04;
+ }
+ (unsigned long) (((unsigned long *) (prd))[i >> 1]) = bttl;
+ (unsigned short int) (((unsigned short int *) (prd))[i + 2]) = l;
(unsigned short int) (((unsigned short int *) (prd))[i + 3]) = 0;
i += 0x04;
}
@@ -2527,7 +2538,7 @@ int atp870u_detect(Scsi_Host_Template *
host_id = inb(base_io + 0x39);
host_id >>= 0x04;
- printk(KERN_INFO " ACARD AEC-67160 PCI Ultra160 LVD/SE SCSI Adapter: %d IO:%x, IRQ:%d.\n"
+ printk(KERN_INFO " ACARD AEC-67160 PCI Ultra3 LVD Host Adapter: %d IO:%x, IRQ:%d.\n"
,h, base_io, irq);
dev->ioport = base_io + 0x40;
dev->pciport = base_io + 0x28;
@@ -2764,7 +2775,7 @@ const char *atp870u_info(struct Scsi_Hos
{
static char buffer[128];
- strcpy(buffer, "ACARD AEC-6710/6712/67160 PCI Ultra/W/LVD SCSI-3 Adapter Driver V2.5+ac ");
+ strcpy(buffer, "ACARD AEC-6710/6712/67160 PCI Ultra/W/LVD SCSI-3 Adapter Driver V2.6+ac ");
return buffer;
}
@@ -2809,7 +2820,7 @@ int atp870u_proc_info(char *buffer, char
if (offset == 0) {
memset(buff, 0, sizeof(buff));
}
- size += sprintf(BLS, "ACARD AEC-671X Driver Version: 2.5+ac\n");
+ size += sprintf(BLS, "ACARD AEC-671X Driver Version: 2.6+ac\n");
len += size;
pos = begin + len;
size = 0;
diff -uNrp linux-2.4.19-rc2/drivers/scsi/megaraid.c linux-2.4.19-rc3/drivers/scsi/megaraid.c
--- linux-2.4.19-rc2/drivers/scsi/megaraid.c Sun Jul 21 20:16:41 2002
+++ linux-2.4.19-rc3/drivers/scsi/megaraid.c Sun Jul 21 22:08:01 2002
@@ -3076,10 +3076,12 @@ static int mega_findCard (Scsi_Host_Temp
/*
* which firmware
*/
- if( strcmp(megaCfg->fwVer, "H01.07") == 0 ||
- strcmp(megaCfg->fwVer, "H01.08") == 0 ) {
+ if( strcmp(megaCfg->fwVer, "H01.07") == 0 ||
+ strcmp(megaCfg->fwVer, "H01.08") == 0 ||
+ strcmp(megaCfg->fwVer, "H01.09") == 0 )
+ {
printk(KERN_WARNING
- "megaraid: Firmware H.01.07 or H.01.08 on 1M/2M "
+ "megaraid: Firmware H.01.07/8/9 on 1M/2M "
"controllers\nmegaraid: do not support 64 bit "
"addressing.\n"
"megaraid: DISABLING 64 bit support.\n");
diff -uNrp linux-2.4.19-rc2/drivers/scsi/scsi_scan.c linux-2.4.19-rc3/drivers/scsi/scsi_scan.c
--- linux-2.4.19-rc2/drivers/scsi/scsi_scan.c Sun Jul 21 20:16:41 2002
+++ linux-2.4.19-rc3/drivers/scsi/scsi_scan.c Sun Jul 21 22:08:01 2002
@@ -110,6 +110,10 @@ static struct dev_info device_list[] =
{"HP", "C1750A", "3226", BLIST_NOLUN}, /* scanjet iic */
{"HP", "C1790A", "", BLIST_NOLUN}, /* scanjet iip */
{"HP", "C2500A", "", BLIST_NOLUN}, /* scanjet iicx */
+ {"HP", "A6188A", "*", BLIST_SPARSELUN}, /* HP Va7100 Array */
+ {"HP", "A6189A", "*", BLIST_SPARSELUN}, /* HP Va7400 Array */
+ {"HP", "A6189B", "*", BLIST_SPARSELUN}, /* HP Va7410 Array */
+ {"HP", "OPEN-", "*", BLIST_SPARSELUN}, /* HP XP Arrays */
{"YAMAHA", "CDR100", "1.00", BLIST_NOLUN}, /* Locks up if polled for lun != 0 */
{"YAMAHA", "CDR102", "1.00", BLIST_NOLUN}, /* Locks up if polled for lun != 0
* extra reset */
@@ -173,7 +177,10 @@ static struct dev_info device_list[] =
{"HP", "C1557A", "*", BLIST_FORCELUN},
{"IBM", "AuSaV1S2", "*", BLIST_FORCELUN},
{"FSC", "CentricStor", "*", BLIST_SPARSELUN | BLIST_LARGELUN},
-
+ {"DDN", "SAN DataDirector", "*", BLIST_SPARSELUN},
+ {"HITACHI", "DF400", "*", BLIST_SPARSELUN},
+ {"HITACHI", "DF500", "*", BLIST_SPARSELUN},
+ {"HITACHI", "DF600", "*", BLIST_SPARSELUN},
/*
* Must be at end of list...
diff -uNrp linux-2.4.19-rc2/drivers/sound/cs4232.c linux-2.4.19-rc3/drivers/sound/cs4232.c
--- linux-2.4.19-rc2/drivers/sound/cs4232.c Mon Feb 25 11:38:04 2002
+++ linux-2.4.19-rc3/drivers/sound/cs4232.c Sun Jul 21 22:08:01 2002
@@ -34,6 +34,8 @@
* anyway.
*
* Changes
+ * John Rood Added Bose Sound System Support.
+ * Toshio Spoor
* Alan Cox Modularisation, Basic cleanups.
* Paul Barton-Davis Separated MPU configuration, added
* Tropez+ (WaveFront) support
@@ -58,6 +60,10 @@
#define KEY_PORT 0x279 /* Same as LPT1 status port */
#define CSN_NUM 0x99 /* Just a random number */
+#define INDEX_ADDRESS 0x00 /* (R0) Index Address Register */
+#define INDEX_DATA 0x01 /* (R1) Indexed Data Register */
+#define PIN_CONTROL 0x0a /* (I10) Pin Control */
+#define ENABLE_PINS 0xc0 /* XCTRL0/XCTRL1 enable */
static void CS_OUT(unsigned char a)
{
@@ -67,6 +73,7 @@ static void CS_OUT(unsigned char a)
#define CS_OUT2(a, b) {CS_OUT(a);CS_OUT(b);}
#define CS_OUT3(a, b, c) {CS_OUT(a);CS_OUT(b);CS_OUT(c);}
+static int __initdata bss = 0;
static int mpu_base = 0, mpu_irq = 0;
static int synth_base = 0, synth_irq = 0;
static int mpu_detected = 0;
@@ -97,6 +104,30 @@ static void sleep(unsigned howlong)
schedule_timeout(howlong);
}
+static void enable_xctrl(int baseio)
+{
+ unsigned char regd;
+
+ /*
+ * Some IBM Aptiva's have the Bose Sound System. By default
+ * the Bose Amplifier is disabled. The amplifier will be
+ * activated, by setting the XCTRL0 and XCTRL1 bits.
+ * Volume of the monitor bose speakers/woofer, can then
+ * be set by changing the PCM volume.
+ *
+ */
+
+ printk("cs4232: enabling Bose Sound System Amplifier.\n");
+
+ /* Switch to Pin Control Address */
+ regd = inb(baseio + INDEX_ADDRESS) & 0xe0;
+ outb(((unsigned char) (PIN_CONTROL | regd)), baseio + INDEX_ADDRESS );
+
+ /* Activate the XCTRL0 and XCTRL1 Pins */
+ regd = inb(baseio + INDEX_DATA);
+ outb(((unsigned char) (ENABLE_PINS | regd)), baseio + INDEX_DATA );
+}
+
int __init probe_cs4232(struct address_info *hw_config, int isapnp_configured)
{
int i, n;
@@ -275,6 +306,11 @@ void __init attach_cs4232(struct address
}
hw_config->slots[1] = hw_config2.slots[1];
}
+
+ if (bss)
+ {
+ enable_xctrl(base);
+ }
}
void unload_cs4232(struct address_info *hw_config)
@@ -349,6 +385,8 @@ MODULE_PARM(synthirq,"i");
MODULE_PARM_DESC(synthirq,"Maui WaveTable IRQ");
MODULE_PARM(isapnp,"i");
MODULE_PARM_DESC(isapnp,"Enable ISAPnP probing (default 1)");
+MODULE_PARM(bss,"i");
+MODULE_PARM_DESC(bss,"Enable Bose Sound System Support (default 0)");
/*
* Install a CS4232 based card. Need to have ad1848 and mpu401
diff -uNrp linux-2.4.19-rc2/drivers/sound/maestro.c linux-2.4.19-rc3/drivers/sound/maestro.c
--- linux-2.4.19-rc2/drivers/sound/maestro.c Sun Jul 21 20:16:41 2002
+++ linux-2.4.19-rc3/drivers/sound/maestro.c Sun Jul 21 22:08:01 2002
@@ -3569,9 +3569,19 @@ maestro_probe(struct pci_dev *pcidev,con
static void maestro_remove(struct pci_dev *pcidev) {
struct ess_card *card = pci_get_drvdata(pcidev);
int i;
+ u32 n;
/* XXX maybe should force stop bob, but should be all
stopped by _release by now */
+
+ /* Turn off hardware volume control interrupt.
+ This has to come before we leave the IRQ below,
+ or a crash results if a button is pressed ! */
+
+ n = inw(card->iobase+0x18);
+ n&=~(1<<6);
+ outw(n, card->iobase+0x18);
+
free_irq(card->irq, card);
unregister_sound_mixer(card->dev_mixer);
for(i=0;i<NR_DSPS;i++)
diff -uNrp linux-2.4.19-rc2/drivers/usb/rtl8150.c linux-2.4.19-rc3/drivers/usb/rtl8150.c
--- linux-2.4.19-rc2/drivers/usb/rtl8150.c Sun Jul 21 20:16:42 2002
+++ linux-2.4.19-rc3/drivers/usb/rtl8150.c Sun Jul 21 22:08:01 2002
@@ -84,7 +84,7 @@ MODULE_DEVICE_TABLE (usb, rtl8150_table)
struct rtl8150 {
- unsigned int flags;
+ unsigned long flags;
struct usb_device *udev;
struct usb_interface *interface;
struct semaphore sem;
diff -uNrp linux-2.4.19-rc2/include/linux/agp_backend.h linux-2.4.19-rc3/include/linux/agp_backend.h
--- linux-2.4.19-rc2/include/linux/agp_backend.h Sun Jul 21 20:16:44 2002
+++ linux-2.4.19-rc3/include/linux/agp_backend.h Sun Jul 21 22:08:04 2002
@@ -73,6 +73,7 @@ enum chipset_type {
ALI_M1644,
ALI_M1647,
ALI_M1651,
+ ALI_M1671,
ALI_GENERIC,
SVWRKS_HE,
SVWRKS_LE,
diff -uNrp linux-2.4.19-rc2/include/linux/pci_ids.h linux-2.4.19-rc3/include/linux/pci_ids.h
--- linux-2.4.19-rc2/include/linux/pci_ids.h Sun Jul 21 20:16:44 2002
+++ linux-2.4.19-rc3/include/linux/pci_ids.h Sun Jul 21 22:08:04 2002
@@ -1602,13 +1602,15 @@
#define PCI_DEVICE_ID_S3_ViRGE_MXPMV 0x8c03
#define PCI_DEVICE_ID_S3_SONICVIBES 0xca00
+#define PCI_VENDOR_ID_DUNORD 0x5544
+#define PCI_DEVICE_ID_DUNORD_I3000 0x0001
+#define PCI_VENDOR_ID_GENROCO 0x5555
+#define PCI_DEVICE_ID_GENROCO_HFP832 0x0003
+
#define PCI_VENDOR_ID_DCI 0x6666
#define PCI_DEVICE_ID_DCI_PCCOM4 0x0001
#define PCI_DEVICE_ID_DCI_PCCOM8 0x0002
-#define PCI_VENDOR_ID_GENROCO 0x5555
-#define PCI_DEVICE_ID_GENROCO_HFP832 0x0003
-
#define PCI_VENDOR_ID_INTEL 0x8086
#define PCI_DEVICE_ID_INTEL_21145 0x0039
#define PCI_DEVICE_ID_INTEL_82375 0x0482
diff -uNrp linux-2.4.19-rc2/include/linux/personality.h linux-2.4.19-rc3/include/linux/personality.h
--- linux-2.4.19-rc2/include/linux/personality.h Sun Jul 21 20:16:44 2002
+++ linux-2.4.19-rc3/include/linux/personality.h Sun Jul 21 22:08:04 2002
@@ -62,7 +62,8 @@ enum {
PER_RISCOS = 0x000c,
PER_SOLARIS = 0x000d | STICKY_TIMEOUTS,
PER_UW7 = 0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,
- PER_OSF4 = 0x000f, /* OSF/1 v4 */
+ PER_HPUX = 0x000f,
+ PER_OSF4 = 0x0010, /* OSF/1 v4 */
PER_MASK = 0x00ff,
};
diff -uNrp linux-2.4.19-rc2/mm/shmem.c linux-2.4.19-rc3/mm/shmem.c
--- linux-2.4.19-rc2/mm/shmem.c Sun Jul 21 20:16:44 2002
+++ linux-2.4.19-rc3/mm/shmem.c Sun Jul 21 22:08:04 2002
@@ -905,7 +905,6 @@ out:
fail_write:
status = -EFAULT;
ClearPageUptodate(page);
- kunmap(page);
goto unlock;
}
diff -uNrp linux-2.4.19-rc2/net/ipv4/netfilter/ip_conntrack_core.c linux-2.4.19-rc3/net/ipv4/netfilter/ip_conntrack_core.c
--- linux-2.4.19-rc2/net/ipv4/netfilter/ip_conntrack_core.c Sun Jul 21 20:16:44 2002
+++ linux-2.4.19-rc3/net/ipv4/netfilter/ip_conntrack_core.c Sun Jul 21 22:08:04 2002
@@ -497,11 +497,9 @@ init_conntrack(const struct ip_conntrack
/* Try dropping from random chain, or else from the
chain about to put into (in case they're trying to
bomb one hash chain). */
- if (drop_next == ip_conntrack_htable_size-1)
- drop_next = 0;
- else
- drop_next++;
- if (!early_drop(&ip_conntrack_hash[drop_next])
+ unsigned int next = (drop_next++)%ip_conntrack_htable_size;
+
+ if (!early_drop(&ip_conntrack_hash[next])
&& !early_drop(&ip_conntrack_hash[hash])) {
if (net_ratelimit())
printk(KERN_WARNING
diff -uNrp linux-2.4.19-rc2/net/rose/af_rose.c linux-2.4.19-rc3/net/rose/af_rose.c
--- linux-2.4.19-rc2/net/rose/af_rose.c Sun Jul 21 20:16:44 2002
+++ linux-2.4.19-rc3/net/rose/af_rose.c Sun Jul 21 22:08:04 2002
@@ -26,6 +26,7 @@
*
* ROSE 0.63 Jean-Paul(F6FBB) Fixed wrong length of L3 packets
* Added CLEAR_REQUEST facilities
+ * ROSE 0.64 Jean-Paul(F6FBB) Fixed null pointer in rose_kill_by_device
*/
#include <linux/config.h>
@@ -227,7 +228,8 @@ static void rose_kill_by_device(struct n
for (s = rose_list; s != NULL; s = s->next) {
if (s->protinfo.rose->device == dev) {
rose_disconnect(s, ENETUNREACH, ROSE_OUT_OF_ORDER, 0);
- s->protinfo.rose->neighbour->use--;
+ if (s->protinfo.rose->neighbour)
+ s->protinfo.rose->neighbour->use--;
s->protinfo.rose->device = NULL;
}
}
@@ -1433,7 +1435,7 @@ static struct notifier_block rose_dev_no
static struct net_device *dev_rose;
-static const char banner[] = KERN_INFO "F6FBB/G4KLX ROSE for Linux. Version 0.63 for AX25.037 Linux 2.4\n";
+static const char banner[] = KERN_INFO "F6FBB/G4KLX ROSE for Linux. Version 0.64 for AX25.037 Linux 2.4\n";
static int __init rose_proto_init(void)
{
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.4.19-rc2 -> 2.4.19-rc3 : no more eth (fwd)
2002-07-25 19:19 ` Andrew Morton
@ 2002-07-26 7:36 ` Thunder from the hill
2002-07-26 7:53 ` Andrew Morton
2002-07-26 13:38 ` Marc Duponcheel
1 sibling, 1 reply; 7+ messages in thread
From: Thunder from the hill @ 2002-07-26 7:36 UTC (permalink / raw)
To: Andrew Morton
Cc: Marc Duponcheel, Linux Kernel Mailing List, Marcelo Tosatti,
Jeff Garzik, Alan Cox
Hi,
On Thu, 25 Jul 2002, Andrew Morton wrote:
> This script which someone wrote will break the diff into
> standalone chunks.
This one might work better.
#!/usr/bin/perl -w
#
# Copyright (c) 2002, Thunder from the hill <thunder@ngforever.de>
#
# $ld: split-patches,v 0.10.2 2002/06/01 00:40:49 GMT thunder Exp $
#
# -----------------------------------------------------------------
# Distribution of this script is permitted under the terms of the
# GNU General Public License (GNU GPL) v2.
# -----------------------------------------------------------------
#
# This perl script splits patch files and sorts them as unified format into
# a tree form which is being taken from the patches.
#
require 5.004;
my @path;
my $i;
my $inbuf;
my $minusline;
my $filename;
my $fullname;
my $plusname;
my $minusname;
my $lines_applied = 0;
my $lines_dropped = 0;
my $lines_converted = 0;
my $fd_open = 0;
while (defined($inbuf = <>)) {
$inbuf =~ s/\r//g;
if ($inbuf =~ /^\+\+\+\s+/) {
# "Control" sequence - decode filename and change it
local ($shortname,$bigpath, $pdate, $mdate) = (0,"","");
$plusname = $inbuf;
$plusname =~ s/^\+\+\+\s+([\w\d\+\-\.\/]+)\s+[\w\d\,\:\s]+[\+\-]?\d*[\w\d\.\,\s\/\(\)\-\+]*$/$1/;
$minusline =~s/\r//g;
$minusname = $minusline;
$minusname =~ s/^\-\-\-\s+([\w\d\+\-\.\/]+)\s+[\w\d\,\:\s]+[\+\-]?\d*[\w\d\.\,\s\/\(\)\-\+]*$/$1/;
if ($plusname eq "/dev/null") {
$filename = $minusname;
} else {
$filename = $plusname;
}
$fullname = $filename;
@path = split("/", $filename);
shift(@path);
$filename = join("/", @path);
$shortname = $path[-1];
for ($i = 0; $i < scalar(@path)-1; $i++) {
if ($i == 0) {
$bigpath = $path[0];
} else {
$bigpath = sprintf("%s/%s", $bigpath, $path[$i]);
}
if (! -d $bigpath) {
printf(STDERR "Creating directory %s\n", $bigpath);
mkdir($bigpath, 0775);
}
}
if ($fd_open) {
close(FileDescriptor);
}
if ($minusname eq "/dev/null") {
printf(STDERR "Creating \"%s\"\n", $filename);
} elsif ($plusname eq "/dev/null") {
printf(STDERR "Removing \"%s\"\n", $filename);
} else {
printf(STDERR "Patching \"%s\"\n", $filename);
}
if (!open(FileDescriptor, sprintf(">%s.diff", $filename))) {
die(sprintf("Error %s opening \"%s\" for writing.\n",$!,$filename));
} else {
$fd_open = 1;
}
$pdate = $inbuf;
$pdate =~ s/^\+\+\+\s+[\w\d\+\-\.\/]+\s+([\w\d\,\:\s]+[\+\-]?\d*)[\w\d\.\,\s\/\(\)\-\+]*$/$1/;
if (!($pdate =~ /\s[\+\-]\d\d\d\d$/)) {
$pdate .= " +0000";
} else {
$pdate =~ s/[\+\-]\d\d\d\d$/\+0000/;
}
$mdate = $minusline;
$mdate =~ s/^\+\+\+\s+[\w\d\+\-\.\/]+\s+([\w\d\,\:\s]+[\+\-]?\d*)[\w\d\.\,\s\/\(\)\-\+]*$/$1/;
if (!($mdate =~ /\s[\+\-]\d\d\d\d$/)) {
$mdate .= " +0000";
} else {
$mdate =~ s/[\+\-]\d\d\d\d$/\+0000/;
}
$pdate =~ s/\r//;
$pdate =~ s/\n//;
$mdate =~ s/\r//;
$mdate =~ s/\n//;
printf(FileDescriptor "diff -Nur %s %s\n--- %s %s\n+++ %s %s\n", $minusname, $plusname, $minusname, $mdate, $plusname, $pdate);
} elsif ($inbuf =~ /^\-\-\-\s+/) {
# Header lines, skip (we had our own version at the beginning
# of the diff split
$minusline = $inbuf;
} elsif ($inbuf =~ /^[\+\- ]/) {
# Unified diff line, just commit
$inbuf =~ s/\n//g;
if ($fd_open) {
printf(FileDescriptor "%s\n", $inbuf);
$lines_applied++;
} else {
if (!$lines_dropped) {
printf("Junk at beginning of patch\n");
}
$lines_dropped++;
}
} elsif ($inbuf =~ /^[\<\>]/) {
# Convert to unified diff and apply
$inbuf =~ s/\n//g;
$inbuf =~ s/^\</-/;
$inbuf =~ s/^\>/+/;
if ($fd_open) {
printf(FileDescriptor "%s\n", $inbuf);
$lines_converted++;
} else {
if (!$lines_dropped) {
printf("Junk at beginning of patch\n");
}
$lines_dropped++;
}
} elsif ($inbuf =~ /^@@/) {
# Line section change; apply please
$inbuf =~ s/\n//g;
if ($fd_open) {
printf(FileDescriptor "%s\n", $inbuf);
$lines_applied++;
} else {
if (!$lines_dropped) {
printf("Junk at beginning of patch\n");
}
$lines_dropped++;
}
} else {
$lines_dropped++;
}
}
if ($fd_open) {
close(FileDescriptor);
$fd_open = 0;
}
printf("\nApplied: %i, dropped: %i, converted: %i\n", $lines_applied, $lines_dropped, $lines_converted);
exit(0);
Thunder
--
I promise you one day we'll again have lots of time
If you like, just arrange the sun that day to shine
Upon both of our graves
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.4.19-rc2 -> 2.4.19-rc3 : no more eth (fwd)
2002-07-26 7:36 ` Thunder from the hill
@ 2002-07-26 7:53 ` Andrew Morton
2002-07-28 9:03 ` Thunder from the hill
0 siblings, 1 reply; 7+ messages in thread
From: Andrew Morton @ 2002-07-26 7:53 UTC (permalink / raw)
To: Thunder from the hill; +Cc: Linux Kernel Mailing List
Thunder from the hill wrote:
>
> Hi,
>
> On Thu, 25 Jul 2002, Andrew Morton wrote:
> > This script which someone wrote will break the diff into
> > standalone chunks.
>
> This one might work better.
>
How come?
-
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.4.19-rc2 -> 2.4.19-rc3 : no more eth (fwd)
2002-07-25 19:19 ` Andrew Morton
2002-07-26 7:36 ` Thunder from the hill
@ 2002-07-26 13:38 ` Marc Duponcheel
2002-07-29 10:58 ` Marc Duponcheel
1 sibling, 1 reply; 7+ messages in thread
From: Marc Duponcheel @ 2002-07-26 13:38 UTC (permalink / raw)
To: Andrew Morton
Cc: linux-kernel, Marcelo Tosatti, Jeff Garzik, Alan Cox, Justin Guyett
I apologise for the delay, I have a lot of work recently ...
Regarding the idea to troubleshoot the 2.4.19-rc2 -> 2.4.19-rc3
changes step by step : Of course that should reveal the culprit but,
unfortunately, the only (1 out of 3) host on which I see the issue
happens to be my main headless server in the wiring closet which I
cannot reboot so often.
It runs 2.4.18 again now.
Someone else thought this might be bacause of changes in hotplug so I
can try to turn off CONFIG_HOTPLUG (but I do need CONFIG_HOTPLUG).
Still, I will do my best to investigate further, and, when 2.4.19 new
versions come out (rc or not) I will always test again.
PS: I see gcc 3.1.1 is on the cygnus ftp server so next time I might
try that compiler as well.
Have a great weekend and thanks all
On Thu, Jul 25, 2002 at 12:19:29PM -0700, Andrew Morton wrote:
> Marc Duponcheel wrote:
> >
> > On Tue, Jul 23, 2002 at 08:32:08PM -0700, Andrew Morton wrote:
> > > Marcelo Tosatti wrote:
> > ...
> > > > Warning (compare_Version): Version mismatch. 3c59x says 2.4.18, System.map says 2.4.19. Expect lots of address mismatches.
> > >
> > > This is a worry. Are we sure it was a clean build?
> > > Please do a `make mrproper' and retest?
> >
> > Recall,
> >
> > This is about ethernet interfaces not initialising (and hence not working)
> > with 2.4.19-rc3 (they do initialise and work with 2.4.19-rc2).
> >
> > As suggested, I have, for all certainty, repatched linux-2.4.18.tar.gz with patch-2.4.19-rc3.gz
> > and rebuilt from a 'mrproper' /usr/src/linux, but the issue remains.
> >
> > This time I ran ksymoops on the 2.4.19-rc3 system so no more mismatches
> >
> > When doing 'lsmod' one sees the modules eepro100 and 3c59x as 'initialising'
> > and one cannot 'rmmod' them because they are 'busy'.
> >
>
> Odd. There's not a lot of difference between -rc2 and -rc3.
> The entire diff is below. You didn't switch compilers or
> something?
>
> Makefile | 2
> arch/i386/kernel/apm.c | 4 -
> arch/i386/kernel/pci-irq.c | 4 +
> arch/i386/kernel/traps.c | 11 ++--
> drivers/char/agp/agp.h | 3 +
> drivers/char/agp/agpgart_be.c | 12 ++++
> drivers/ide/ide-features.c | 6 ++
> drivers/ide/ide-pci.c | 2
> drivers/media/radio/radio-zoltrix.c | 3 -
> drivers/net/wireless/orinoco_plx.c | 2
> drivers/pci/names.c | 10 +--
> drivers/pci/quirks.c | 16 ++++++
> drivers/scsi/aha152x.c | 6 ++
> drivers/scsi/atp870u.c | 23 ++++++--
> drivers/scsi/megaraid.c | 8 +--
> drivers/scsi/scsi_scan.c | 9 +++
> drivers/sound/cs4232.c | 38 ++++++++++++++
> drivers/sound/maestro.c | 10 +++
> drivers/usb/rtl8150.c | 2
> include/linux/agp_backend.h | 1
> include/linux/pci_ids.h | 8 +--
> include/linux/personality.h | 3 -
> mm/shmem.c | 1
> net/ipv4/netfilter/ip_conntrack_core.c | 8 +--
> net/rose/af_rose.c | 6 +-
> scripts/kernel-doc | 86 +++++++++++++++++++++++++--------
> 26 files changed, 226 insertions, 58 deletions
>
> Could you please back out the changes until the problem
> goes away?
>
> This script which someone wrote will break the diff into
> standalone chunks. Suggest you start with the patch
> against drivers/pci/names.c.
>
> #!/usr/bin/perl -w
> $out = "";
> while (<>) {
> next if (/^Only/);
> next if (/^Binary/);
> if (/^diff/ || /^Index/) {
> if ($out) {
> close OUT;
> }
> (@out) = split(' ', $_);
> shift(@out) if (/^diff/);
> $out = pop(@out);
> $out =~ s:/*usr/:/:;
> $out =~ s:/*src/:/:;
> $out =~ s:^/*linux[^/]*::;
> $out =~ s:\(w\)::;
> next if ($out eq "");
> $out = "/var/tmp/patches/$out";
> $dir = $out;
> $dir =~ s:/[^/]*$::;
> print STDERR "$out\n";
> system("mkdir -p $dir");
> open(OUT, ">$out") || die("cannot open $out");
> }
> if ($out) {
> print OUT $_;
> }
> }
>
> diff -uNrp linux-2.4.19-rc2/Makefile linux-2.4.19-rc3/Makefile
> --- linux-2.4.19-rc2/Makefile Sun Jul 21 20:16:21 2002
> +++ linux-2.4.19-rc3/Makefile Sun Jul 21 22:07:56 2002
> @@ -1,7 +1,7 @@
> VERSION = 2
> PATCHLEVEL = 4
> SUBLEVEL = 19
> -EXTRAVERSION = -rc2
> +EXTRAVERSION = -rc3
>
> KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
>
> diff -uNrp linux-2.4.19-rc2/arch/i386/kernel/apm.c linux-2.4.19-rc3/arch/i386/kernel/apm.c
> --- linux-2.4.19-rc2/arch/i386/kernel/apm.c Sun Jul 21 20:16:22 2002
> +++ linux-2.4.19-rc3/arch/i386/kernel/apm.c Sun Jul 21 22:07:56 2002
> @@ -1198,12 +1198,12 @@ static int suspend(int vetoable)
> printk(KERN_CRIT "apm: suspend was vetoed, but suspending anyway.\n");
> }
> get_time_diff();
> - cli();
> + __cli();
> err = set_system_power_state(APM_STATE_SUSPEND);
> reinit_timer();
> set_time();
> ignore_normal_resume = 1;
> - sti();
> + __sti();
> if (err == APM_NO_ERROR)
> err = APM_SUCCESS;
> if (err != APM_SUCCESS)
> diff -uNrp linux-2.4.19-rc2/arch/i386/kernel/pci-irq.c linux-2.4.19-rc3/arch/i386/kernel/pci-irq.c
> --- linux-2.4.19-rc2/arch/i386/kernel/pci-irq.c Sun Jul 21 20:16:22 2002
> +++ linux-2.4.19-rc3/arch/i386/kernel/pci-irq.c Sun Jul 21 22:07:56 2002
> @@ -489,6 +489,10 @@ static struct irq_router pirq_routers[]
> pirq_serverworks_get, pirq_serverworks_set },
> { "AMD756 VIPER", PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_740B,
> pirq_amd756_get, pirq_amd756_set },
> + { "AMD766", PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7413,
> + pirq_amd756_get, pirq_amd756_set },
> + { "AMD768", PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7443,
> + pirq_amd756_get, pirq_amd756_set },
>
> { "default", 0, 0, NULL, NULL }
> };
> diff -uNrp linux-2.4.19-rc2/arch/i386/kernel/traps.c linux-2.4.19-rc3/arch/i386/kernel/traps.c
> --- linux-2.4.19-rc2/arch/i386/kernel/traps.c Sun Jul 21 20:16:22 2002
> +++ linux-2.4.19-rc3/arch/i386/kernel/traps.c Sun Jul 21 22:07:56 2002
> @@ -139,14 +139,14 @@ void show_trace(unsigned long * stack)
> if (!stack)
> stack = (unsigned long*)&stack;
>
> - printk("Call Trace: ");
> + printk("Call Trace: ");
> i = 1;
> while (((long) stack & (THREAD_SIZE-1)) != 0) {
> addr = *stack++;
> if (kernel_text_address(addr)) {
> if (i && ((i % 6) == 0))
> - printk("\n ");
> - printk("[<%08lx>] ", addr);
> + printk("\n ");
> + printk(" [<%08lx>]", addr);
> i++;
> }
> }
> @@ -618,9 +618,10 @@ void math_error(void *eip)
> default:
> break;
> case 0x001: /* Invalid Op */
> - case 0x040: /* Stack Fault */
> - case 0x240: /* Stack Fault | Direction */
> + case 0x041: /* Stack Fault */
> + case 0x241: /* Stack Fault | Direction */
> info.si_code = FPE_FLTINV;
> + /* Should we clear the SF or let user space do it ???? */
> break;
> case 0x002: /* Denormalize */
> case 0x010: /* Underflow */
> diff -uNrp linux-2.4.19-rc2/drivers/char/agp/agp.h linux-2.4.19-rc3/drivers/char/agp/agp.h
> --- linux-2.4.19-rc2/drivers/char/agp/agp.h Sun Jul 21 20:16:24 2002
> +++ linux-2.4.19-rc3/drivers/char/agp/agp.h Sun Jul 21 22:07:59 2002
> @@ -265,6 +265,9 @@ struct agp_bridge_data {
> #ifndef PCI_DEVICE_ID_AL_M1651_0
> #define PCI_DEVICE_ID_AL_M1651_0 0x1651
> #endif
> +#ifndef PCI_DEVICE_ID_AL_M1671_0
> +#define PCI_DEVICE_ID_AL_M1671_0 0x1671
> +#endif
>
> /* intel register */
> #define INTEL_APBASE 0x10
> diff -uNrp linux-2.4.19-rc2/drivers/char/agp/agpgart_be.c linux-2.4.19-rc3/drivers/char/agp/agpgart_be.c
> --- linux-2.4.19-rc2/drivers/char/agp/agpgart_be.c Sun Jul 21 20:16:24 2002
> +++ linux-2.4.19-rc3/drivers/char/agp/agpgart_be.c Sun Jul 21 22:07:59 2002
> @@ -3946,6 +3946,12 @@ static struct {
> "Ali",
> "M1651",
> ali_generic_setup },
> + { PCI_DEVICE_ID_AL_M1671_0,
> + PCI_VENDOR_ID_AL,
> + ALI_M1671,
> + "Ali",
> + "M1671",
> + ali_generic_setup },
> { 0,
> PCI_VENDOR_ID_AL,
> ALI_GENERIC,
> @@ -4094,6 +4100,12 @@ static struct {
> "SiS",
> "735",
> sis_generic_setup },
> + { PCI_DEVICE_ID_SI_745,
> + PCI_VENDOR_ID_SI,
> + SIS_GENERIC,
> + "SiS",
> + "745",
> + sis_generic_setup },
> { PCI_DEVICE_ID_SI_730,
> PCI_VENDOR_ID_SI,
> SIS_GENERIC,
> diff -uNrp linux-2.4.19-rc2/drivers/ide/ide-features.c linux-2.4.19-rc3/drivers/ide/ide-features.c
> --- linux-2.4.19-rc2/drivers/ide/ide-features.c Sun Jul 21 20:16:25 2002
> +++ linux-2.4.19-rc3/drivers/ide/ide-features.c Sun Jul 21 22:07:59 2002
> @@ -240,13 +240,16 @@ int set_transfer (ide_drive_t *drive, id
> return 0;
> }
>
> +#ifdef CONFIG_BLK_DEV_IDEDMA
> /*
> * All hosts that use the 80c ribbon mus use!
> */
> byte eighty_ninty_three (ide_drive_t *drive)
> {
> +#ifdef CONFIG_BLK_DEV_IDEPCI
> if (HWIF(drive)->pci_devid.vid==0x105a)
> return(HWIF(drive)->udma_four);
> +#endif
> /* PDC202XX: that's because some HDD will return wrong info */
> return ((byte) ((HWIF(drive)->udma_four) &&
> #ifndef CONFIG_IDEDMA_IVB
> @@ -254,6 +257,7 @@ byte eighty_ninty_three (ide_drive_t *dr
> #endif /* CONFIG_IDEDMA_IVB */
> (drive->id->hw_config & 0x6000)) ? 1 : 0);
> }
> +#endif // CONFIG_BLK_DEV_IDEDMA
>
> /*
> * Similar to ide_wait_stat(), except it never calls ide_error internally.
> @@ -374,6 +378,8 @@ EXPORT_SYMBOL(ide_auto_reduce_xfer);
> EXPORT_SYMBOL(ide_driveid_update);
> EXPORT_SYMBOL(ide_ata66_check);
> EXPORT_SYMBOL(set_transfer);
> +#ifdef CONFIG_BLK_DEV_IDEDMA
> EXPORT_SYMBOL(eighty_ninty_three);
> +#endif // CONFIG_BLK_DEV_IDEDMA
> EXPORT_SYMBOL(ide_config_drive_speed);
>
> diff -uNrp linux-2.4.19-rc2/drivers/ide/ide-pci.c linux-2.4.19-rc3/drivers/ide/ide-pci.c
> --- linux-2.4.19-rc2/drivers/ide/ide-pci.c Sun Jul 21 20:16:25 2002
> +++ linux-2.4.19-rc3/drivers/ide/ide-pci.c Sun Jul 21 22:07:59 2002
> @@ -669,7 +669,7 @@ check_if_enabled:
> */
> pciirq = dev->irq;
>
> -#ifdef CONFIG_PDC202XX_FORCE
> +#ifndef CONFIG_PDC202XX_FORCE
> if (dev->class >> 8 == PCI_CLASS_STORAGE_RAID) {
> /*
> * By rights we want to ignore Promise FastTrak and SuperTrak
> diff -uNrp linux-2.4.19-rc2/drivers/media/radio/radio-zoltrix.c linux-2.4.19-rc3/drivers/media/radio/radio-zoltrix.c
> --- linux-2.4.19-rc2/drivers/media/radio/radio-zoltrix.c Sun Sep 30 12:26:06 2001
> +++ linux-2.4.19-rc3/drivers/media/radio/radio-zoltrix.c Sun Jul 21 22:07:59 2002
> @@ -23,6 +23,7 @@
> * (can detect if station is in stereo)
> * - Added unmute function
> * - Reworked ioctl functions
> + * 2002-07-15 - Fix Stereo typo
> */
>
> #include <linux/module.h> /* Modules */
> @@ -280,7 +281,7 @@ static int zol_ioctl(struct video_device
> struct video_audio v;
> memset(&v, 0, sizeof(v));
> v.flags |= VIDEO_AUDIO_MUTABLE | VIDEO_AUDIO_VOLUME;
> - v.mode != zol_is_stereo(zol)
> + v.mode |= zol_is_stereo(zol)
> ? VIDEO_SOUND_STEREO : VIDEO_SOUND_MONO;
> v.volume = zol->curvol * 4096;
> v.step = 4096;
> diff -uNrp linux-2.4.19-rc2/drivers/net/wireless/orinoco_plx.c linux-2.4.19-rc3/drivers/net/wireless/orinoco_plx.c
> --- linux-2.4.19-rc2/drivers/net/wireless/orinoco_plx.c Sun Jul 21 20:16:26 2002
> +++ linux-2.4.19-rc3/drivers/net/wireless/orinoco_plx.c Sun Jul 21 22:08:00 2002
> @@ -385,7 +385,7 @@ static struct pci_driver orinoco_plx_dri
> name:"orinoco_plx",
> id_table:orinoco_plx_pci_id_table,
> probe:orinoco_plx_init_one,
> - remove:orinoco_plx_remove_one,
> + remove:__devexit_p(orinoco_plx_remove_one),
> suspend:0,
> resume:0
> };
> diff -uNrp linux-2.4.19-rc2/drivers/pci/names.c linux-2.4.19-rc3/drivers/pci/names.c
> --- linux-2.4.19-rc2/drivers/pci/names.c Fri Nov 9 14:03:11 2001
> +++ linux-2.4.19-rc3/drivers/pci/names.c Sun Jul 21 22:08:00 2002
> @@ -32,18 +32,18 @@ struct pci_vendor_info {
> * real memory.. Parse the same file multiple times
> * to get all the info.
> */
> -#define VENDOR( vendor, name ) static char __vendorstr_##vendor[] __initdata = name;
> +#define VENDOR( vendor, name ) static char __vendorstr_##vendor[] __devinitdata = name;
> #define ENDVENDOR()
> -#define DEVICE( vendor, device, name ) static char __devicestr_##vendor##device[] __initdata = name;
> +#define DEVICE( vendor, device, name ) static char __devicestr_##vendor##device[] __devinitdata = name;
> #include "devlist.h"
>
>
> -#define VENDOR( vendor, name ) static struct pci_device_info __devices_##vendor[] __initdata = {
> +#define VENDOR( vendor, name ) static struct pci_device_info __devices_##vendor[] __devinitdata = {
> #define ENDVENDOR() };
> #define DEVICE( vendor, device, name ) { 0x##device, 0, __devicestr_##vendor##device },
> #include "devlist.h"
>
> -static struct pci_vendor_info __initdata pci_vendor_list[] = {
> +static struct pci_vendor_info __devinitdata pci_vendor_list[] = {
> #define VENDOR( vendor, name ) { 0x##vendor, sizeof(__devices_##vendor) / sizeof(struct pci_device_info), __vendorstr_##vendor, __devices_##vendor },
> #define ENDVENDOR()
> #define DEVICE( vendor, device, name )
> @@ -121,7 +121,7 @@ pci_class_name(u32 class)
>
> #else
>
> -void __init pci_name_device(struct pci_dev *dev)
> +void __devinit pci_name_device(struct pci_dev *dev)
> {
> }
>
> diff -uNrp linux-2.4.19-rc2/drivers/pci/quirks.c linux-2.4.19-rc3/drivers/pci/quirks.c
> --- linux-2.4.19-rc2/drivers/pci/quirks.c Sun Jul 21 20:16:26 2002
> +++ linux-2.4.19-rc3/drivers/pci/quirks.c Sun Jul 21 22:08:00 2002
> @@ -457,10 +457,26 @@ static void __init quirk_amd_ordering(st
> }
>
> /*
> + * DreamWorks provided workaround for Dunord I-3000 problem
> + *
> + * This card decodes and responds to addresses not apparently
> + * assigned to it. We force a larger allocation to ensure that
> + * nothing gets put too close to it.
> + */
> +
> +static void __init quirk_dunord ( struct pci_dev * dev )
> +{
> + struct resource * r = & dev -> resource [ 1 ];
> + r -> start = 0;
> + r -> end = 0xffffff;
> +}
> +
> +/*
> * The main table of quirks.
> */
>
> static struct pci_fixup pci_fixups[] __initdata = {
> + { PCI_FIXUP_HEADER, PCI_VENDOR_ID_DUNORD, PCI_DEVICE_ID_DUNORD_I3000, quirk_dunord },
> { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release },
> { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release },
> /*
> diff -uNrp linux-2.4.19-rc2/drivers/scsi/aha152x.c linux-2.4.19-rc3/drivers/scsi/aha152x.c
> --- linux-2.4.19-rc2/drivers/scsi/aha152x.c Sun Jul 21 20:16:27 2002
> +++ linux-2.4.19-rc3/drivers/scsi/aha152x.c Sun Jul 21 22:08:01 2002
> @@ -1368,7 +1368,13 @@ int aha152x_detect(Scsi_Host_Template *
>
> printk(KERN_INFO "aha152x%d: trying software interrupt, ", HOSTNO);
> SETPORT(DMACNTRL0, SWINT|INTEN);
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
> + spin_unlock_irq(&io_request_lock);
> +#endif
> mdelay(1000);
> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
> + spin_lock_irq(&io_request_lock);
> +#endif
> free_irq(shpnt->irq, shpnt);
>
> if (!HOSTDATA(shpnt)->swint) {
> diff -uNrp linux-2.4.19-rc2/drivers/scsi/atp870u.c linux-2.4.19-rc3/drivers/scsi/atp870u.c
> --- linux-2.4.19-rc2/drivers/scsi/atp870u.c Sun Sep 30 12:26:07 2001
> +++ linux-2.4.19-rc3/drivers/scsi/atp870u.c Sun Jul 21 22:08:01 2002
> @@ -11,7 +11,8 @@
> * enable 32 bit fifo transfer
> * support cdrom & remove device run ultra speed
> * fix disconnect bug 2000/12/21
> - * support atp880 chip lvd u160 2001/05/15 (7.1)
> + * support atp880 chip lvd u160 2001/05/15
> + * fix prd table bug 2001/09/12 (7.1)
> */
>
> #include <linux/module.h>
> @@ -803,8 +804,18 @@ oktosend:
> sgpnt = (struct scatterlist *) workrequ->request_buffer;
> i = 0;
> for (j = 0; j < workrequ->use_sg; j++) {
> - (unsigned long) (((unsigned long *) (prd))[i >> 1]) = virt_to_bus(sgpnt[j].address);
> - (unsigned short int) (((unsigned short int *) (prd))[i + 2]) = sgpnt[j].length;
> + bttl = virt_to_bus(sgpnt[j].address);
> + l = sgpnt[j].length;
> + while (l > 0x10000) {
> + (unsigned short int) (((unsigned short int *) (prd))[i + 3]) = 0x0000;
> + (unsigned short int) (((unsigned short int *) (prd))[i + 2]) = 0x0000;
> + (unsigned long) (((unsigned long *) (prd))[i >> 1]) = bttl;
> + l -= 0x10000;
> + bttl += 0x10000;
> + i += 0x04;
> + }
> + (unsigned long) (((unsigned long *) (prd))[i >> 1]) = bttl;
> + (unsigned short int) (((unsigned short int *) (prd))[i + 2]) = l;
> (unsigned short int) (((unsigned short int *) (prd))[i + 3]) = 0;
> i += 0x04;
> }
> @@ -2527,7 +2538,7 @@ int atp870u_detect(Scsi_Host_Template *
> host_id = inb(base_io + 0x39);
> host_id >>= 0x04;
>
> - printk(KERN_INFO " ACARD AEC-67160 PCI Ultra160 LVD/SE SCSI Adapter: %d IO:%x, IRQ:%d.\n"
> + printk(KERN_INFO " ACARD AEC-67160 PCI Ultra3 LVD Host Adapter: %d IO:%x, IRQ:%d.\n"
> ,h, base_io, irq);
> dev->ioport = base_io + 0x40;
> dev->pciport = base_io + 0x28;
> @@ -2764,7 +2775,7 @@ const char *atp870u_info(struct Scsi_Hos
> {
> static char buffer[128];
>
> - strcpy(buffer, "ACARD AEC-6710/6712/67160 PCI Ultra/W/LVD SCSI-3 Adapter Driver V2.5+ac ");
> + strcpy(buffer, "ACARD AEC-6710/6712/67160 PCI Ultra/W/LVD SCSI-3 Adapter Driver V2.6+ac ");
>
> return buffer;
> }
> @@ -2809,7 +2820,7 @@ int atp870u_proc_info(char *buffer, char
> if (offset == 0) {
> memset(buff, 0, sizeof(buff));
> }
> - size += sprintf(BLS, "ACARD AEC-671X Driver Version: 2.5+ac\n");
> + size += sprintf(BLS, "ACARD AEC-671X Driver Version: 2.6+ac\n");
> len += size;
> pos = begin + len;
> size = 0;
> diff -uNrp linux-2.4.19-rc2/drivers/scsi/megaraid.c linux-2.4.19-rc3/drivers/scsi/megaraid.c
> --- linux-2.4.19-rc2/drivers/scsi/megaraid.c Sun Jul 21 20:16:41 2002
> +++ linux-2.4.19-rc3/drivers/scsi/megaraid.c Sun Jul 21 22:08:01 2002
> @@ -3076,10 +3076,12 @@ static int mega_findCard (Scsi_Host_Temp
> /*
> * which firmware
> */
> - if( strcmp(megaCfg->fwVer, "H01.07") == 0 ||
> - strcmp(megaCfg->fwVer, "H01.08") == 0 ) {
> + if( strcmp(megaCfg->fwVer, "H01.07") == 0 ||
> + strcmp(megaCfg->fwVer, "H01.08") == 0 ||
> + strcmp(megaCfg->fwVer, "H01.09") == 0 )
> + {
> printk(KERN_WARNING
> - "megaraid: Firmware H.01.07 or H.01.08 on 1M/2M "
> + "megaraid: Firmware H.01.07/8/9 on 1M/2M "
> "controllers\nmegaraid: do not support 64 bit "
> "addressing.\n"
> "megaraid: DISABLING 64 bit support.\n");
> diff -uNrp linux-2.4.19-rc2/drivers/scsi/scsi_scan.c linux-2.4.19-rc3/drivers/scsi/scsi_scan.c
> --- linux-2.4.19-rc2/drivers/scsi/scsi_scan.c Sun Jul 21 20:16:41 2002
> +++ linux-2.4.19-rc3/drivers/scsi/scsi_scan.c Sun Jul 21 22:08:01 2002
> @@ -110,6 +110,10 @@ static struct dev_info device_list[] =
> {"HP", "C1750A", "3226", BLIST_NOLUN}, /* scanjet iic */
> {"HP", "C1790A", "", BLIST_NOLUN}, /* scanjet iip */
> {"HP", "C2500A", "", BLIST_NOLUN}, /* scanjet iicx */
> + {"HP", "A6188A", "*", BLIST_SPARSELUN}, /* HP Va7100 Array */
> + {"HP", "A6189A", "*", BLIST_SPARSELUN}, /* HP Va7400 Array */
> + {"HP", "A6189B", "*", BLIST_SPARSELUN}, /* HP Va7410 Array */
> + {"HP", "OPEN-", "*", BLIST_SPARSELUN}, /* HP XP Arrays */
> {"YAMAHA", "CDR100", "1.00", BLIST_NOLUN}, /* Locks up if polled for lun != 0 */
> {"YAMAHA", "CDR102", "1.00", BLIST_NOLUN}, /* Locks up if polled for lun != 0
> * extra reset */
> @@ -173,7 +177,10 @@ static struct dev_info device_list[] =
> {"HP", "C1557A", "*", BLIST_FORCELUN},
> {"IBM", "AuSaV1S2", "*", BLIST_FORCELUN},
> {"FSC", "CentricStor", "*", BLIST_SPARSELUN | BLIST_LARGELUN},
> -
> + {"DDN", "SAN DataDirector", "*", BLIST_SPARSELUN},
> + {"HITACHI", "DF400", "*", BLIST_SPARSELUN},
> + {"HITACHI", "DF500", "*", BLIST_SPARSELUN},
> + {"HITACHI", "DF600", "*", BLIST_SPARSELUN},
>
> /*
> * Must be at end of list...
> diff -uNrp linux-2.4.19-rc2/drivers/sound/cs4232.c linux-2.4.19-rc3/drivers/sound/cs4232.c
> --- linux-2.4.19-rc2/drivers/sound/cs4232.c Mon Feb 25 11:38:04 2002
> +++ linux-2.4.19-rc3/drivers/sound/cs4232.c Sun Jul 21 22:08:01 2002
> @@ -34,6 +34,8 @@
> * anyway.
> *
> * Changes
> + * John Rood Added Bose Sound System Support.
> + * Toshio Spoor
> * Alan Cox Modularisation, Basic cleanups.
> * Paul Barton-Davis Separated MPU configuration, added
> * Tropez+ (WaveFront) support
> @@ -58,6 +60,10 @@
>
> #define KEY_PORT 0x279 /* Same as LPT1 status port */
> #define CSN_NUM 0x99 /* Just a random number */
> +#define INDEX_ADDRESS 0x00 /* (R0) Index Address Register */
> +#define INDEX_DATA 0x01 /* (R1) Indexed Data Register */
> +#define PIN_CONTROL 0x0a /* (I10) Pin Control */
> +#define ENABLE_PINS 0xc0 /* XCTRL0/XCTRL1 enable */
>
> static void CS_OUT(unsigned char a)
> {
> @@ -67,6 +73,7 @@ static void CS_OUT(unsigned char a)
> #define CS_OUT2(a, b) {CS_OUT(a);CS_OUT(b);}
> #define CS_OUT3(a, b, c) {CS_OUT(a);CS_OUT(b);CS_OUT(c);}
>
> +static int __initdata bss = 0;
> static int mpu_base = 0, mpu_irq = 0;
> static int synth_base = 0, synth_irq = 0;
> static int mpu_detected = 0;
> @@ -97,6 +104,30 @@ static void sleep(unsigned howlong)
> schedule_timeout(howlong);
> }
>
> +static void enable_xctrl(int baseio)
> +{
> + unsigned char regd;
> +
> + /*
> + * Some IBM Aptiva's have the Bose Sound System. By default
> + * the Bose Amplifier is disabled. The amplifier will be
> + * activated, by setting the XCTRL0 and XCTRL1 bits.
> + * Volume of the monitor bose speakers/woofer, can then
> + * be set by changing the PCM volume.
> + *
> + */
> +
> + printk("cs4232: enabling Bose Sound System Amplifier.\n");
> +
> + /* Switch to Pin Control Address */
> + regd = inb(baseio + INDEX_ADDRESS) & 0xe0;
> + outb(((unsigned char) (PIN_CONTROL | regd)), baseio + INDEX_ADDRESS );
> +
> + /* Activate the XCTRL0 and XCTRL1 Pins */
> + regd = inb(baseio + INDEX_DATA);
> + outb(((unsigned char) (ENABLE_PINS | regd)), baseio + INDEX_DATA );
> +}
> +
> int __init probe_cs4232(struct address_info *hw_config, int isapnp_configured)
> {
> int i, n;
> @@ -275,6 +306,11 @@ void __init attach_cs4232(struct address
> }
> hw_config->slots[1] = hw_config2.slots[1];
> }
> +
> + if (bss)
> + {
> + enable_xctrl(base);
> + }
> }
>
> void unload_cs4232(struct address_info *hw_config)
> @@ -349,6 +385,8 @@ MODULE_PARM(synthirq,"i");
> MODULE_PARM_DESC(synthirq,"Maui WaveTable IRQ");
> MODULE_PARM(isapnp,"i");
> MODULE_PARM_DESC(isapnp,"Enable ISAPnP probing (default 1)");
> +MODULE_PARM(bss,"i");
> +MODULE_PARM_DESC(bss,"Enable Bose Sound System Support (default 0)");
>
> /*
> * Install a CS4232 based card. Need to have ad1848 and mpu401
> diff -uNrp linux-2.4.19-rc2/drivers/sound/maestro.c linux-2.4.19-rc3/drivers/sound/maestro.c
> --- linux-2.4.19-rc2/drivers/sound/maestro.c Sun Jul 21 20:16:41 2002
> +++ linux-2.4.19-rc3/drivers/sound/maestro.c Sun Jul 21 22:08:01 2002
> @@ -3569,9 +3569,19 @@ maestro_probe(struct pci_dev *pcidev,con
> static void maestro_remove(struct pci_dev *pcidev) {
> struct ess_card *card = pci_get_drvdata(pcidev);
> int i;
> + u32 n;
>
> /* XXX maybe should force stop bob, but should be all
> stopped by _release by now */
> +
> + /* Turn off hardware volume control interrupt.
> + This has to come before we leave the IRQ below,
> + or a crash results if a button is pressed ! */
> +
> + n = inw(card->iobase+0x18);
> + n&=~(1<<6);
> + outw(n, card->iobase+0x18);
> +
> free_irq(card->irq, card);
> unregister_sound_mixer(card->dev_mixer);
> for(i=0;i<NR_DSPS;i++)
> diff -uNrp linux-2.4.19-rc2/drivers/usb/rtl8150.c linux-2.4.19-rc3/drivers/usb/rtl8150.c
> --- linux-2.4.19-rc2/drivers/usb/rtl8150.c Sun Jul 21 20:16:42 2002
> +++ linux-2.4.19-rc3/drivers/usb/rtl8150.c Sun Jul 21 22:08:01 2002
> @@ -84,7 +84,7 @@ MODULE_DEVICE_TABLE (usb, rtl8150_table)
>
>
> struct rtl8150 {
> - unsigned int flags;
> + unsigned long flags;
> struct usb_device *udev;
> struct usb_interface *interface;
> struct semaphore sem;
> diff -uNrp linux-2.4.19-rc2/include/linux/agp_backend.h linux-2.4.19-rc3/include/linux/agp_backend.h
> --- linux-2.4.19-rc2/include/linux/agp_backend.h Sun Jul 21 20:16:44 2002
> +++ linux-2.4.19-rc3/include/linux/agp_backend.h Sun Jul 21 22:08:04 2002
> @@ -73,6 +73,7 @@ enum chipset_type {
> ALI_M1644,
> ALI_M1647,
> ALI_M1651,
> + ALI_M1671,
> ALI_GENERIC,
> SVWRKS_HE,
> SVWRKS_LE,
> diff -uNrp linux-2.4.19-rc2/include/linux/pci_ids.h linux-2.4.19-rc3/include/linux/pci_ids.h
> --- linux-2.4.19-rc2/include/linux/pci_ids.h Sun Jul 21 20:16:44 2002
> +++ linux-2.4.19-rc3/include/linux/pci_ids.h Sun Jul 21 22:08:04 2002
> @@ -1602,13 +1602,15 @@
> #define PCI_DEVICE_ID_S3_ViRGE_MXPMV 0x8c03
> #define PCI_DEVICE_ID_S3_SONICVIBES 0xca00
>
> +#define PCI_VENDOR_ID_DUNORD 0x5544
> +#define PCI_DEVICE_ID_DUNORD_I3000 0x0001
> +#define PCI_VENDOR_ID_GENROCO 0x5555
> +#define PCI_DEVICE_ID_GENROCO_HFP832 0x0003
> +
> #define PCI_VENDOR_ID_DCI 0x6666
> #define PCI_DEVICE_ID_DCI_PCCOM4 0x0001
> #define PCI_DEVICE_ID_DCI_PCCOM8 0x0002
>
> -#define PCI_VENDOR_ID_GENROCO 0x5555
> -#define PCI_DEVICE_ID_GENROCO_HFP832 0x0003
> -
> #define PCI_VENDOR_ID_INTEL 0x8086
> #define PCI_DEVICE_ID_INTEL_21145 0x0039
> #define PCI_DEVICE_ID_INTEL_82375 0x0482
> diff -uNrp linux-2.4.19-rc2/include/linux/personality.h linux-2.4.19-rc3/include/linux/personality.h
> --- linux-2.4.19-rc2/include/linux/personality.h Sun Jul 21 20:16:44 2002
> +++ linux-2.4.19-rc3/include/linux/personality.h Sun Jul 21 22:08:04 2002
> @@ -62,7 +62,8 @@ enum {
> PER_RISCOS = 0x000c,
> PER_SOLARIS = 0x000d | STICKY_TIMEOUTS,
> PER_UW7 = 0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,
> - PER_OSF4 = 0x000f, /* OSF/1 v4 */
> + PER_HPUX = 0x000f,
> + PER_OSF4 = 0x0010, /* OSF/1 v4 */
> PER_MASK = 0x00ff,
> };
>
> diff -uNrp linux-2.4.19-rc2/mm/shmem.c linux-2.4.19-rc3/mm/shmem.c
> --- linux-2.4.19-rc2/mm/shmem.c Sun Jul 21 20:16:44 2002
> +++ linux-2.4.19-rc3/mm/shmem.c Sun Jul 21 22:08:04 2002
> @@ -905,7 +905,6 @@ out:
> fail_write:
> status = -EFAULT;
> ClearPageUptodate(page);
> - kunmap(page);
> goto unlock;
> }
>
> diff -uNrp linux-2.4.19-rc2/net/ipv4/netfilter/ip_conntrack_core.c linux-2.4.19-rc3/net/ipv4/netfilter/ip_conntrack_core.c
> --- linux-2.4.19-rc2/net/ipv4/netfilter/ip_conntrack_core.c Sun Jul 21 20:16:44 2002
> +++ linux-2.4.19-rc3/net/ipv4/netfilter/ip_conntrack_core.c Sun Jul 21 22:08:04 2002
> @@ -497,11 +497,9 @@ init_conntrack(const struct ip_conntrack
> /* Try dropping from random chain, or else from the
> chain about to put into (in case they're trying to
> bomb one hash chain). */
> - if (drop_next == ip_conntrack_htable_size-1)
> - drop_next = 0;
> - else
> - drop_next++;
> - if (!early_drop(&ip_conntrack_hash[drop_next])
> + unsigned int next = (drop_next++)%ip_conntrack_htable_size;
> +
> + if (!early_drop(&ip_conntrack_hash[next])
> && !early_drop(&ip_conntrack_hash[hash])) {
> if (net_ratelimit())
> printk(KERN_WARNING
> diff -uNrp linux-2.4.19-rc2/net/rose/af_rose.c linux-2.4.19-rc3/net/rose/af_rose.c
> --- linux-2.4.19-rc2/net/rose/af_rose.c Sun Jul 21 20:16:44 2002
> +++ linux-2.4.19-rc3/net/rose/af_rose.c Sun Jul 21 22:08:04 2002
> @@ -26,6 +26,7 @@
> *
> * ROSE 0.63 Jean-Paul(F6FBB) Fixed wrong length of L3 packets
> * Added CLEAR_REQUEST facilities
> + * ROSE 0.64 Jean-Paul(F6FBB) Fixed null pointer in rose_kill_by_device
> */
>
> #include <linux/config.h>
> @@ -227,7 +228,8 @@ static void rose_kill_by_device(struct n
> for (s = rose_list; s != NULL; s = s->next) {
> if (s->protinfo.rose->device == dev) {
> rose_disconnect(s, ENETUNREACH, ROSE_OUT_OF_ORDER, 0);
> - s->protinfo.rose->neighbour->use--;
> + if (s->protinfo.rose->neighbour)
> + s->protinfo.rose->neighbour->use--;
> s->protinfo.rose->device = NULL;
> }
> }
> @@ -1433,7 +1435,7 @@ static struct notifier_block rose_dev_no
>
> static struct net_device *dev_rose;
>
> -static const char banner[] = KERN_INFO "F6FBB/G4KLX ROSE for Linux. Version 0.63 for AX25.037 Linux 2.4\n";
> +static const char banner[] = KERN_INFO "F6FBB/G4KLX ROSE for Linux. Version 0.64 for AX25.037 Linux 2.4\n";
>
> static int __init rose_proto_init(void)
> {
--
--
Greetings,
Marc Duponcheel Multicast Development Engineer Cisco Systems
email: mduponch@cisco.com tel: +32 2 704 52 40 cell: +32 478 68 10 91
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.4.19-rc2 -> 2.4.19-rc3 : no more eth (fwd)
2002-07-26 7:53 ` Andrew Morton
@ 2002-07-28 9:03 ` Thunder from the hill
0 siblings, 0 replies; 7+ messages in thread
From: Thunder from the hill @ 2002-07-28 9:03 UTC (permalink / raw)
To: Andrew Morton; +Cc: Thunder from the hill, Linux Kernel Mailing List
Hi,
On Fri, 26 Jul 2002, Andrew Morton wrote:
> > This one might work better.
> >
>
> How come?
Well, it supports a few more different type diffs. It might of course be
buggy, but I didn't recheck it for years. It just works.
The new date header is just because I copied it into a new file, without
much reading, though.
Thunder
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: 2.4.19-rc2 -> 2.4.19-rc3 : no more eth (fwd)
2002-07-26 13:38 ` Marc Duponcheel
@ 2002-07-29 10:58 ` Marc Duponcheel
0 siblings, 0 replies; 7+ messages in thread
From: Marc Duponcheel @ 2002-07-29 10:58 UTC (permalink / raw)
To: Andrew Morton
Cc: linux-kernel, Marcelo Tosatti, Jeff Garzik, Alan Cox, Justin Guyett
Dear kernel crew,
I have recompiled 2.4.19-rc3 on 3 machines with gcc 3.1.1 and
basically there is no better news. Two machines still work fine and
one still does not recognise any PCI card (indeed, the PCI SCSI
interface module (which currently has nothing attached) is, just like
the 2 PCI eth interfaces, also stuck in 'initialising').
I have saved both 'dmesg' outputs just after reboot.
here is the output of
diff dmesg-2.4.18 dmesg-2.4.19-rc3
I wonder, could there be some miscalculation of memory? Is the
missing 'machine check' of any relevance?
I personally don't see any other potential significant issue in the
diff but maybe someone else does...
Thanks for your time
=============================================================================
1c1
< Linux version 2.4.18 (root@server) (gcc version 3.1) #1 Sun Jun 9 15:18:29 CEST 2002
---
> Linux version 2.4.19-rc3 (root@server) (gcc version 3.1.1) #1 Sat Jul 27 15:49:04 CEST 2002
10a11
> 255MB LOWMEM available.
14a16
> Kernel command line: BOOT_IMAGE=2.4.19-rc3 root=301 devfs=mount
17d18
< Kernel command line: auto BOOT_IMAGE=2.4.18 root=301 devfs=mount
19c20
< Detected 804.041 MHz processor.
---
> Detected 804.044 MHz processor.
22,24c23,25
< Memory: 256156k/262060k available (972k kernel code, 5516k reserved, 232k data, 232k init, 0k highmem)
< Dentry-cache hash table entries: 32768 (order: 6, 262144 bytes)
< Inode-cache hash table entries: 16384 (order: 5, 131072 bytes)
---
> Memory: 257120k/262060k available (1005k kernel code, 4552k reserved, 378k data, 108k init, 0k highmem)
> Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
> Inode cache hash table entries: 16384 (order: 5, 131072 bytes)
33,34d33
< Intel machine check architecture supported.
< Intel machine check reporting enabled on CPU#0.
47,50c46,49
< ..... CPU clock speed is 804.0473 MHz.
< ..... host bus clock speed is 134.0078 MHz.
< cpu: 0, clocks: 1340078, slice: 670039
< CPU0<T0:1340064,T1:670016,D:9,S:670039,C:1340078>
---
> ..... CPU clock speed is 804.0347 MHz.
> ..... host bus clock speed is 134.0057 MHz.
> cpu: 0, clocks: 1340057, slice: 670028
> CPU0<T0:1340048,T1:670016,D:4,S:670028,C:1340057>
64c63
< devfs: v1.10 (20020120) Richard Gooch (rgooch@atnf.csiro.au)
---
> devfs: v1.12a (20020514) Richard Gooch (rgooch@atnf.csiro.au)
79d77
< block: 128 slots per queue, batch=32
82,84c80,82
< PIIX4: IDE controller on PCI bus 00 dev f9
< PIIX4: chipset revision 2
< PIIX4: not 100% native mode: will probe irqs later
---
> ICH2: IDE controller on PCI bus 00 dev f9
> ICH2: chipset revision 2
> ICH2: not 100% native mode: will probe irqs later
101c99
< Freeing unused kernel memory: 232k freed
---
> Freeing unused kernel memory: 108k freed
105c103
< usb-uhci.c: $Revision: 1.275 $ time 15:26:28 Jun 9 2002
---
> usb-uhci.c: $Revision: 1.275 $ time 15:56:00 Jul 27 2002
128,129c126,127
< pcwd: v1.10 (06/05/99) Ken Hollis (kenji@bitgate.com)
< pcwd: No card detected, or port not available.
---
> pcwd: v1.13 (03/06/2002) Ken Hollis (kenji@bitgate.com)
> pcwd: No card detected, or port not available
135c133
< hid-core.c: v1.8 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
---
> hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
138,156c136,177
< eepro100.c:v1.09j-t 9/29/99 Donald Becker http://www.scyld.com/network/eepro100.html
< eepro100.c: $Revision: 1.36 $ 2000/11/17 Modified by Andrey V. Savochkin <saw@saw.sw.com.sg> and others
< PCI: Found IRQ 10 for device 02:0b.0
< PCI: Sharing IRQ 10 with 00:1f.4
< eth0: Intel Corp. 82557 [Ethernet Pro 100], 00:02:B3:28:5B:7E, IRQ 10.
< Board assembly 752438-006, Physical connectors present: RJ45
< Primary interface chip i82555 PHY #1.
< Secondary interface chip i82555.
< General self-test: passed.
< Serial sub-system self-test: passed.
< Internal registers self-test: passed.
< ROM checksum self-test: passed (0x3258698e).
< PCI: Found IRQ 11 for device 02:0c.0
< 3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
< 02:0c.0: 3Com PCI 3c900 Cyclone 10Mbps TPO at 0xd000. Vers LK1.1.16
< CSLIP: code copyright 1989 Regents of the University of California
< PPP generic driver version 2.4.1
< iplog uses obsolete (PF_INET,SOCK_PACKET)
< device eth0 entered promiscuous mode
---
> Unable to handle kernel paging request at virtual address d0ca6620
> printing eip:
> c01a1ef7
> *pde = 0ff12067
> *pte = 00000000
> Oops: 0002
> CPU: 0
> EIP: 0010:[<c01a1ef7>] Not tainted
> EFLAGS: 00010292
> eax: d0ca6620 ebx: ffffffea ecx: c102c01c edx: c0227cc4
> esi: d0cb5d40 edi: 00000000 ebp: d0cb1000 esp: cf633ef8
> ds: 0018 es: 0018 ss: 0018
> Process modprobe (pid: 357, stackpage=cf633000)
> Stack: c0227cb0 c102c01c ffffffea 00000000 00000000 d0cb4342 d0cb5d40 00000000
> ffffffea c011d78b d0cb1060 08083f38 00004d30 00000000 08088744 0000486c
> 00000060 00000060 00000008 cfc79ea0 cf5df000 cf5b0000 00000060 d0cae000
> Call Trace: [<d0cb4342>] [<d0cb5d40>] [<c011d78b>] [<d0cb1060>] [<d0cb1060>]
> [<c010900b>]
>
> Code: 89 30 8b 1d c8 26 23 c0 89 35 d4 26 23 c0 89 46 04 81 fb c8
> <1>Unable to handle kernel paging request at virtual address d0ca6620
> printing eip:
> c01a1ef7
> *pde = 0ff12067
> *pte = 00000000
> Oops: 0002
> CPU: 0
> EIP: 0010:[<c01a1ef7>] Not tainted
> EFLAGS: 00010292
> eax: d0ca6620 ebx: ffffffea ecx: c102c01c edx: c0227cd0
> esi: d0cbdc00 edi: 00000000 ebp: d0cb7000 esp: cf633ef8
> ds: 0018 es: 0018 ss: 0018
> Process modprobe (pid: 382, stackpage=cf633000)
> Stack: c0227cb0 c102c01c ffffffea 00000000 00000000 d0cbb579 d0cbdc00 ffffffea
> 00000000 c011d78b d0cb7060 08086c70 00006c08 00000000 0808cf70 00006360
> 00000060 00000060 00000005 cfc79ee0 cf588000 cf589000 00000060 d0cb1000
> Call Trace: [<d0cbb579>] [<d0cbdc00>] [<c011d78b>] [<d0cb7060>] [<d0cb7060>]
> [<c010900b>]
>
> Code: 89 30 8b 1d c8 26 23 c0 89 35 d4 26 23 c0 89 46 04 81 fb c8
> <6>CSLIP: code copyright 1989 Regents of the University of California
> PPP generic driver version 2.4.2
159d179
< lp0: compatibility mode
161d180
< ip_conntrack (2047 buckets, 16376 max)
162a182
> ip_conntrack (2047 buckets, 16376 max)
164,167c184,202
< PCI: Found IRQ 5 for device 02:0a.0
< scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA DRIVER, Rev 6.2.4
< <Adaptec 2930CU SCSI adapter>
< aic7860: Ultra Single Channel A, SCSI Id=7, 3/253 SCBs
---
> Unable to handle kernel paging request at virtual address d0ca6620
> printing eip:
> c01a1ef7
> *pde = 0ff12067
> *pte = 00000000
> Oops: 0002
> CPU: 0
> EIP: 0010:[<c01a1ef7>] Not tainted
> EFLAGS: 00010296
> eax: d0ca6620 ebx: 00000202 ecx: c102c01c edx: c0227ce8
> esi: d0d705c0 edi: 00000000 ebp: d0d704c0 esp: cd219e9c
> ds: 0018 es: 0018 ss: 0018
> Process modprobe (pid: 1378, stackpage=cd219000)
> Stack: c0227cb0 c0227e30 00000202 00000000 d0d704c0 d0d58423 d0d705c0 00000202
> d0d53962 d0d704c0 00001000 00000202 00000000 00000001 d0d4571c d0d704c0
> c0227cb0 c0227e14 000001ff 00000203 00000000 c100001c c123b04c c0227cb0
> Call Trace: [<d0d704c0>] [<d0d58423>] [<d0d705c0>] [<d0d53962>] [<d0d704c0>]
> [<d0d4571c>] [<d0d704c0>] [<d0d57181>] [<d0d704c0>] [<d0d704c0>] [<c011d78b>]
> [<d0d53060>] [<d0d6ff28>] [<d0d53060>] [<c010900b>]
169c204,205
< loop: loaded (max 8 devices)
---
> Code: 89 30 8b 1d c8 26 23 c0 89 35 d4 26 23 c0 89 46 04 81 fb c8
> <6>loop: loaded (max 8 devices)
172,174d207
< eth0: no IPv6 routers present
< eth1: no IPv6 routers present
< Universal TUN/TAP device driver 1.4 (C)1999-2001 Maxim Krasnyansky
176,177c209,213
< printer.c: v0.8:USB Printer Device Class driver
< NET4: AppleTalk 0.18a for Linux NET4.0
---
> printer.c: v0.11: USB Printer Device Class driver
> usb-uhci.c: interrupt, status 3, frame# 524
> usb.c: USB disconnect on device 2
> hub.c: USB new device connect on bus1/1, assigned device number 3
> input0: USB Mouse STD. on usb1:3.0
=============================================================================
On Fri, Jul 26, 2002 at 03:38:51PM +0200, Marc Duponcheel wrote:
> Justin Guyett <justin@soze.net>
> Subject: Re: 2.4.19-rc2 -> 2.4.19-rc3 : no more eth (fwd)
>
> I apologise for the delay, I have a lot of work recently ...
>
> Regarding the idea to troubleshoot the 2.4.19-rc2 -> 2.4.19-rc3
> changes step by step : Of course that should reveal the culprit but,
> unfortunately, the only (1 out of 3) host on which I see the issue
> happens to be my main headless server in the wiring closet which I
> cannot reboot so often.
>
> It runs 2.4.18 again now.
>
> Someone else thought this might be bacause of changes in hotplug so I
> can try to turn off CONFIG_HOTPLUG (but I do need CONFIG_HOTPLUG).
>
> Still, I will do my best to investigate further, and, when 2.4.19 new
> versions come out (rc or not) I will always test again.
>
> PS: I see gcc 3.1.1 is on the cygnus ftp server so next time I might
> try that compiler as well.
>
> Have a great weekend and thanks all
>
> On Thu, Jul 25, 2002 at 12:19:29PM -0700, Andrew Morton wrote:
> > Marc Duponcheel wrote:
> > >
> > > On Tue, Jul 23, 2002 at 08:32:08PM -0700, Andrew Morton wrote:
> > > > Marcelo Tosatti wrote:
> > > ...
> > > > > Warning (compare_Version): Version mismatch. 3c59x says 2.4.18, System.map says 2.4.19. Expect lots of address mismatches.
> > > >
> > > > This is a worry. Are we sure it was a clean build?
> > > > Please do a `make mrproper' and retest?
> > >
> > > Recall,
> > >
> > > This is about ethernet interfaces not initialising (and hence not working)
> > > with 2.4.19-rc3 (they do initialise and work with 2.4.19-rc2).
> > >
> > > As suggested, I have, for all certainty, repatched linux-2.4.18.tar.gz with patch-2.4.19-rc3.gz
> > > and rebuilt from a 'mrproper' /usr/src/linux, but the issue remains.
> > >
> > > This time I ran ksymoops on the 2.4.19-rc3 system so no more mismatches
> > >
> > > When doing 'lsmod' one sees the modules eepro100 and 3c59x as 'initialising'
> > > and one cannot 'rmmod' them because they are 'busy'.
> > >
> >
> > Odd. There's not a lot of difference between -rc2 and -rc3.
> > The entire diff is below. You didn't switch compilers or
> > something?
> >
> > Makefile | 2
> > arch/i386/kernel/apm.c | 4 -
> > arch/i386/kernel/pci-irq.c | 4 +
> > arch/i386/kernel/traps.c | 11 ++--
> > drivers/char/agp/agp.h | 3 +
> > drivers/char/agp/agpgart_be.c | 12 ++++
> > drivers/ide/ide-features.c | 6 ++
> > drivers/ide/ide-pci.c | 2
> > drivers/media/radio/radio-zoltrix.c | 3 -
> > drivers/net/wireless/orinoco_plx.c | 2
> > drivers/pci/names.c | 10 +--
> > drivers/pci/quirks.c | 16 ++++++
> > drivers/scsi/aha152x.c | 6 ++
> > drivers/scsi/atp870u.c | 23 ++++++--
> > drivers/scsi/megaraid.c | 8 +--
> > drivers/scsi/scsi_scan.c | 9 +++
> > drivers/sound/cs4232.c | 38 ++++++++++++++
> > drivers/sound/maestro.c | 10 +++
> > drivers/usb/rtl8150.c | 2
> > include/linux/agp_backend.h | 1
> > include/linux/pci_ids.h | 8 +--
> > include/linux/personality.h | 3 -
> > mm/shmem.c | 1
> > net/ipv4/netfilter/ip_conntrack_core.c | 8 +--
> > net/rose/af_rose.c | 6 +-
> > scripts/kernel-doc | 86 +++++++++++++++++++++++++--------
> > 26 files changed, 226 insertions, 58 deletions
> >
> > Could you please back out the changes until the problem
> > goes away?
> >
> > This script which someone wrote will break the diff into
> > standalone chunks. Suggest you start with the patch
> > against drivers/pci/names.c.
> >
> > #!/usr/bin/perl -w
> > $out = "";
> > while (<>) {
> > next if (/^Only/);
> > next if (/^Binary/);
> > if (/^diff/ || /^Index/) {
> > if ($out) {
> > close OUT;
> > }
> > (@out) = split(' ', $_);
> > shift(@out) if (/^diff/);
> > $out = pop(@out);
> > $out =~ s:/*usr/:/:;
> > $out =~ s:/*src/:/:;
> > $out =~ s:^/*linux[^/]*::;
> > $out =~ s:\(w\)::;
> > next if ($out eq "");
> > $out = "/var/tmp/patches/$out";
> > $dir = $out;
> > $dir =~ s:/[^/]*$::;
> > print STDERR "$out\n";
> > system("mkdir -p $dir");
> > open(OUT, ">$out") || die("cannot open $out");
> > }
> > if ($out) {
> > print OUT $_;
> > }
> > }
> >
> > diff -uNrp linux-2.4.19-rc2/Makefile linux-2.4.19-rc3/Makefile
> > --- linux-2.4.19-rc2/Makefile Sun Jul 21 20:16:21 2002
> > +++ linux-2.4.19-rc3/Makefile Sun Jul 21 22:07:56 2002
> > @@ -1,7 +1,7 @@
> > VERSION = 2
> > PATCHLEVEL = 4
> > SUBLEVEL = 19
> > -EXTRAVERSION = -rc2
> > +EXTRAVERSION = -rc3
> >
> > KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
> >
> > diff -uNrp linux-2.4.19-rc2/arch/i386/kernel/apm.c linux-2.4.19-rc3/arch/i386/kernel/apm.c
> > --- linux-2.4.19-rc2/arch/i386/kernel/apm.c Sun Jul 21 20:16:22 2002
> > +++ linux-2.4.19-rc3/arch/i386/kernel/apm.c Sun Jul 21 22:07:56 2002
> > @@ -1198,12 +1198,12 @@ static int suspend(int vetoable)
> > printk(KERN_CRIT "apm: suspend was vetoed, but suspending anyway.\n");
> > }
> > get_time_diff();
> > - cli();
> > + __cli();
> > err = set_system_power_state(APM_STATE_SUSPEND);
> > reinit_timer();
> > set_time();
> > ignore_normal_resume = 1;
> > - sti();
> > + __sti();
> > if (err == APM_NO_ERROR)
> > err = APM_SUCCESS;
> > if (err != APM_SUCCESS)
> > diff -uNrp linux-2.4.19-rc2/arch/i386/kernel/pci-irq.c linux-2.4.19-rc3/arch/i386/kernel/pci-irq.c
> > --- linux-2.4.19-rc2/arch/i386/kernel/pci-irq.c Sun Jul 21 20:16:22 2002
> > +++ linux-2.4.19-rc3/arch/i386/kernel/pci-irq.c Sun Jul 21 22:07:56 2002
> > @@ -489,6 +489,10 @@ static struct irq_router pirq_routers[]
> > pirq_serverworks_get, pirq_serverworks_set },
> > { "AMD756 VIPER", PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_740B,
> > pirq_amd756_get, pirq_amd756_set },
> > + { "AMD766", PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7413,
> > + pirq_amd756_get, pirq_amd756_set },
> > + { "AMD768", PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_VIPER_7443,
> > + pirq_amd756_get, pirq_amd756_set },
> >
> > { "default", 0, 0, NULL, NULL }
> > };
> > diff -uNrp linux-2.4.19-rc2/arch/i386/kernel/traps.c linux-2.4.19-rc3/arch/i386/kernel/traps.c
> > --- linux-2.4.19-rc2/arch/i386/kernel/traps.c Sun Jul 21 20:16:22 2002
> > +++ linux-2.4.19-rc3/arch/i386/kernel/traps.c Sun Jul 21 22:07:56 2002
> > @@ -139,14 +139,14 @@ void show_trace(unsigned long * stack)
> > if (!stack)
> > stack = (unsigned long*)&stack;
> >
> > - printk("Call Trace: ");
> > + printk("Call Trace: ");
> > i = 1;
> > while (((long) stack & (THREAD_SIZE-1)) != 0) {
> > addr = *stack++;
> > if (kernel_text_address(addr)) {
> > if (i && ((i % 6) == 0))
> > - printk("\n ");
> > - printk("[<%08lx>] ", addr);
> > + printk("\n ");
> > + printk(" [<%08lx>]", addr);
> > i++;
> > }
> > }
> > @@ -618,9 +618,10 @@ void math_error(void *eip)
> > default:
> > break;
> > case 0x001: /* Invalid Op */
> > - case 0x040: /* Stack Fault */
> > - case 0x240: /* Stack Fault | Direction */
> > + case 0x041: /* Stack Fault */
> > + case 0x241: /* Stack Fault | Direction */
> > info.si_code = FPE_FLTINV;
> > + /* Should we clear the SF or let user space do it ???? */
> > break;
> > case 0x002: /* Denormalize */
> > case 0x010: /* Underflow */
> > diff -uNrp linux-2.4.19-rc2/drivers/char/agp/agp.h linux-2.4.19-rc3/drivers/char/agp/agp.h
> > --- linux-2.4.19-rc2/drivers/char/agp/agp.h Sun Jul 21 20:16:24 2002
> > +++ linux-2.4.19-rc3/drivers/char/agp/agp.h Sun Jul 21 22:07:59 2002
> > @@ -265,6 +265,9 @@ struct agp_bridge_data {
> > #ifndef PCI_DEVICE_ID_AL_M1651_0
> > #define PCI_DEVICE_ID_AL_M1651_0 0x1651
> > #endif
> > +#ifndef PCI_DEVICE_ID_AL_M1671_0
> > +#define PCI_DEVICE_ID_AL_M1671_0 0x1671
> > +#endif
> >
> > /* intel register */
> > #define INTEL_APBASE 0x10
> > diff -uNrp linux-2.4.19-rc2/drivers/char/agp/agpgart_be.c linux-2.4.19-rc3/drivers/char/agp/agpgart_be.c
> > --- linux-2.4.19-rc2/drivers/char/agp/agpgart_be.c Sun Jul 21 20:16:24 2002
> > +++ linux-2.4.19-rc3/drivers/char/agp/agpgart_be.c Sun Jul 21 22:07:59 2002
> > @@ -3946,6 +3946,12 @@ static struct {
> > "Ali",
> > "M1651",
> > ali_generic_setup },
> > + { PCI_DEVICE_ID_AL_M1671_0,
> > + PCI_VENDOR_ID_AL,
> > + ALI_M1671,
> > + "Ali",
> > + "M1671",
> > + ali_generic_setup },
> > { 0,
> > PCI_VENDOR_ID_AL,
> > ALI_GENERIC,
> > @@ -4094,6 +4100,12 @@ static struct {
> > "SiS",
> > "735",
> > sis_generic_setup },
> > + { PCI_DEVICE_ID_SI_745,
> > + PCI_VENDOR_ID_SI,
> > + SIS_GENERIC,
> > + "SiS",
> > + "745",
> > + sis_generic_setup },
> > { PCI_DEVICE_ID_SI_730,
> > PCI_VENDOR_ID_SI,
> > SIS_GENERIC,
> > diff -uNrp linux-2.4.19-rc2/drivers/ide/ide-features.c linux-2.4.19-rc3/drivers/ide/ide-features.c
> > --- linux-2.4.19-rc2/drivers/ide/ide-features.c Sun Jul 21 20:16:25 2002
> > +++ linux-2.4.19-rc3/drivers/ide/ide-features.c Sun Jul 21 22:07:59 2002
> > @@ -240,13 +240,16 @@ int set_transfer (ide_drive_t *drive, id
> > return 0;
> > }
> >
> > +#ifdef CONFIG_BLK_DEV_IDEDMA
> > /*
> > * All hosts that use the 80c ribbon mus use!
> > */
> > byte eighty_ninty_three (ide_drive_t *drive)
> > {
> > +#ifdef CONFIG_BLK_DEV_IDEPCI
> > if (HWIF(drive)->pci_devid.vid==0x105a)
> > return(HWIF(drive)->udma_four);
> > +#endif
> > /* PDC202XX: that's because some HDD will return wrong info */
> > return ((byte) ((HWIF(drive)->udma_four) &&
> > #ifndef CONFIG_IDEDMA_IVB
> > @@ -254,6 +257,7 @@ byte eighty_ninty_three (ide_drive_t *dr
> > #endif /* CONFIG_IDEDMA_IVB */
> > (drive->id->hw_config & 0x6000)) ? 1 : 0);
> > }
> > +#endif // CONFIG_BLK_DEV_IDEDMA
> >
> > /*
> > * Similar to ide_wait_stat(), except it never calls ide_error internally.
> > @@ -374,6 +378,8 @@ EXPORT_SYMBOL(ide_auto_reduce_xfer);
> > EXPORT_SYMBOL(ide_driveid_update);
> > EXPORT_SYMBOL(ide_ata66_check);
> > EXPORT_SYMBOL(set_transfer);
> > +#ifdef CONFIG_BLK_DEV_IDEDMA
> > EXPORT_SYMBOL(eighty_ninty_three);
> > +#endif // CONFIG_BLK_DEV_IDEDMA
> > EXPORT_SYMBOL(ide_config_drive_speed);
> >
> > diff -uNrp linux-2.4.19-rc2/drivers/ide/ide-pci.c linux-2.4.19-rc3/drivers/ide/ide-pci.c
> > --- linux-2.4.19-rc2/drivers/ide/ide-pci.c Sun Jul 21 20:16:25 2002
> > +++ linux-2.4.19-rc3/drivers/ide/ide-pci.c Sun Jul 21 22:07:59 2002
> > @@ -669,7 +669,7 @@ check_if_enabled:
> > */
> > pciirq = dev->irq;
> >
> > -#ifdef CONFIG_PDC202XX_FORCE
> > +#ifndef CONFIG_PDC202XX_FORCE
> > if (dev->class >> 8 == PCI_CLASS_STORAGE_RAID) {
> > /*
> > * By rights we want to ignore Promise FastTrak and SuperTrak
> > diff -uNrp linux-2.4.19-rc2/drivers/media/radio/radio-zoltrix.c linux-2.4.19-rc3/drivers/media/radio/radio-zoltrix.c
> > --- linux-2.4.19-rc2/drivers/media/radio/radio-zoltrix.c Sun Sep 30 12:26:06 2001
> > +++ linux-2.4.19-rc3/drivers/media/radio/radio-zoltrix.c Sun Jul 21 22:07:59 2002
> > @@ -23,6 +23,7 @@
> > * (can detect if station is in stereo)
> > * - Added unmute function
> > * - Reworked ioctl functions
> > + * 2002-07-15 - Fix Stereo typo
> > */
> >
> > #include <linux/module.h> /* Modules */
> > @@ -280,7 +281,7 @@ static int zol_ioctl(struct video_device
> > struct video_audio v;
> > memset(&v, 0, sizeof(v));
> > v.flags |= VIDEO_AUDIO_MUTABLE | VIDEO_AUDIO_VOLUME;
> > - v.mode != zol_is_stereo(zol)
> > + v.mode |= zol_is_stereo(zol)
> > ? VIDEO_SOUND_STEREO : VIDEO_SOUND_MONO;
> > v.volume = zol->curvol * 4096;
> > v.step = 4096;
> > diff -uNrp linux-2.4.19-rc2/drivers/net/wireless/orinoco_plx.c linux-2.4.19-rc3/drivers/net/wireless/orinoco_plx.c
> > --- linux-2.4.19-rc2/drivers/net/wireless/orinoco_plx.c Sun Jul 21 20:16:26 2002
> > +++ linux-2.4.19-rc3/drivers/net/wireless/orinoco_plx.c Sun Jul 21 22:08:00 2002
> > @@ -385,7 +385,7 @@ static struct pci_driver orinoco_plx_dri
> > name:"orinoco_plx",
> > id_table:orinoco_plx_pci_id_table,
> > probe:orinoco_plx_init_one,
> > - remove:orinoco_plx_remove_one,
> > + remove:__devexit_p(orinoco_plx_remove_one),
> > suspend:0,
> > resume:0
> > };
> > diff -uNrp linux-2.4.19-rc2/drivers/pci/names.c linux-2.4.19-rc3/drivers/pci/names.c
> > --- linux-2.4.19-rc2/drivers/pci/names.c Fri Nov 9 14:03:11 2001
> > +++ linux-2.4.19-rc3/drivers/pci/names.c Sun Jul 21 22:08:00 2002
> > @@ -32,18 +32,18 @@ struct pci_vendor_info {
> > * real memory.. Parse the same file multiple times
> > * to get all the info.
> > */
> > -#define VENDOR( vendor, name ) static char __vendorstr_##vendor[] __initdata = name;
> > +#define VENDOR( vendor, name ) static char __vendorstr_##vendor[] __devinitdata = name;
> > #define ENDVENDOR()
> > -#define DEVICE( vendor, device, name ) static char __devicestr_##vendor##device[] __initdata = name;
> > +#define DEVICE( vendor, device, name ) static char __devicestr_##vendor##device[] __devinitdata = name;
> > #include "devlist.h"
> >
> >
> > -#define VENDOR( vendor, name ) static struct pci_device_info __devices_##vendor[] __initdata = {
> > +#define VENDOR( vendor, name ) static struct pci_device_info __devices_##vendor[] __devinitdata = {
> > #define ENDVENDOR() };
> > #define DEVICE( vendor, device, name ) { 0x##device, 0, __devicestr_##vendor##device },
> > #include "devlist.h"
> >
> > -static struct pci_vendor_info __initdata pci_vendor_list[] = {
> > +static struct pci_vendor_info __devinitdata pci_vendor_list[] = {
> > #define VENDOR( vendor, name ) { 0x##vendor, sizeof(__devices_##vendor) / sizeof(struct pci_device_info), __vendorstr_##vendor, __devices_##vendor },
> > #define ENDVENDOR()
> > #define DEVICE( vendor, device, name )
> > @@ -121,7 +121,7 @@ pci_class_name(u32 class)
> >
> > #else
> >
> > -void __init pci_name_device(struct pci_dev *dev)
> > +void __devinit pci_name_device(struct pci_dev *dev)
> > {
> > }
> >
> > diff -uNrp linux-2.4.19-rc2/drivers/pci/quirks.c linux-2.4.19-rc3/drivers/pci/quirks.c
> > --- linux-2.4.19-rc2/drivers/pci/quirks.c Sun Jul 21 20:16:26 2002
> > +++ linux-2.4.19-rc3/drivers/pci/quirks.c Sun Jul 21 22:08:00 2002
> > @@ -457,10 +457,26 @@ static void __init quirk_amd_ordering(st
> > }
> >
> > /*
> > + * DreamWorks provided workaround for Dunord I-3000 problem
> > + *
> > + * This card decodes and responds to addresses not apparently
> > + * assigned to it. We force a larger allocation to ensure that
> > + * nothing gets put too close to it.
> > + */
> > +
> > +static void __init quirk_dunord ( struct pci_dev * dev )
> > +{
> > + struct resource * r = & dev -> resource [ 1 ];
> > + r -> start = 0;
> > + r -> end = 0xffffff;
> > +}
> > +
> > +/*
> > * The main table of quirks.
> > */
> >
> > static struct pci_fixup pci_fixups[] __initdata = {
> > + { PCI_FIXUP_HEADER, PCI_VENDOR_ID_DUNORD, PCI_DEVICE_ID_DUNORD_I3000, quirk_dunord },
> > { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release },
> > { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82441, quirk_passive_release },
> > /*
> > diff -uNrp linux-2.4.19-rc2/drivers/scsi/aha152x.c linux-2.4.19-rc3/drivers/scsi/aha152x.c
> > --- linux-2.4.19-rc2/drivers/scsi/aha152x.c Sun Jul 21 20:16:27 2002
> > +++ linux-2.4.19-rc3/drivers/scsi/aha152x.c Sun Jul 21 22:08:01 2002
> > @@ -1368,7 +1368,13 @@ int aha152x_detect(Scsi_Host_Template *
> >
> > printk(KERN_INFO "aha152x%d: trying software interrupt, ", HOSTNO);
> > SETPORT(DMACNTRL0, SWINT|INTEN);
> > +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
> > + spin_unlock_irq(&io_request_lock);
> > +#endif
> > mdelay(1000);
> > +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
> > + spin_lock_irq(&io_request_lock);
> > +#endif
> > free_irq(shpnt->irq, shpnt);
> >
> > if (!HOSTDATA(shpnt)->swint) {
> > diff -uNrp linux-2.4.19-rc2/drivers/scsi/atp870u.c linux-2.4.19-rc3/drivers/scsi/atp870u.c
> > --- linux-2.4.19-rc2/drivers/scsi/atp870u.c Sun Sep 30 12:26:07 2001
> > +++ linux-2.4.19-rc3/drivers/scsi/atp870u.c Sun Jul 21 22:08:01 2002
> > @@ -11,7 +11,8 @@
> > * enable 32 bit fifo transfer
> > * support cdrom & remove device run ultra speed
> > * fix disconnect bug 2000/12/21
> > - * support atp880 chip lvd u160 2001/05/15 (7.1)
> > + * support atp880 chip lvd u160 2001/05/15
> > + * fix prd table bug 2001/09/12 (7.1)
> > */
> >
> > #include <linux/module.h>
> > @@ -803,8 +804,18 @@ oktosend:
> > sgpnt = (struct scatterlist *) workrequ->request_buffer;
> > i = 0;
> > for (j = 0; j < workrequ->use_sg; j++) {
> > - (unsigned long) (((unsigned long *) (prd))[i >> 1]) = virt_to_bus(sgpnt[j].address);
> > - (unsigned short int) (((unsigned short int *) (prd))[i + 2]) = sgpnt[j].length;
> > + bttl = virt_to_bus(sgpnt[j].address);
> > + l = sgpnt[j].length;
> > + while (l > 0x10000) {
> > + (unsigned short int) (((unsigned short int *) (prd))[i + 3]) = 0x0000;
> > + (unsigned short int) (((unsigned short int *) (prd))[i + 2]) = 0x0000;
> > + (unsigned long) (((unsigned long *) (prd))[i >> 1]) = bttl;
> > + l -= 0x10000;
> > + bttl += 0x10000;
> > + i += 0x04;
> > + }
> > + (unsigned long) (((unsigned long *) (prd))[i >> 1]) = bttl;
> > + (unsigned short int) (((unsigned short int *) (prd))[i + 2]) = l;
> > (unsigned short int) (((unsigned short int *) (prd))[i + 3]) = 0;
> > i += 0x04;
> > }
> > @@ -2527,7 +2538,7 @@ int atp870u_detect(Scsi_Host_Template *
> > host_id = inb(base_io + 0x39);
> > host_id >>= 0x04;
> >
> > - printk(KERN_INFO " ACARD AEC-67160 PCI Ultra160 LVD/SE SCSI Adapter: %d IO:%x, IRQ:%d.\n"
> > + printk(KERN_INFO " ACARD AEC-67160 PCI Ultra3 LVD Host Adapter: %d IO:%x, IRQ:%d.\n"
> > ,h, base_io, irq);
> > dev->ioport = base_io + 0x40;
> > dev->pciport = base_io + 0x28;
> > @@ -2764,7 +2775,7 @@ const char *atp870u_info(struct Scsi_Hos
> > {
> > static char buffer[128];
> >
> > - strcpy(buffer, "ACARD AEC-6710/6712/67160 PCI Ultra/W/LVD SCSI-3 Adapter Driver V2.5+ac ");
> > + strcpy(buffer, "ACARD AEC-6710/6712/67160 PCI Ultra/W/LVD SCSI-3 Adapter Driver V2.6+ac ");
> >
> > return buffer;
> > }
> > @@ -2809,7 +2820,7 @@ int atp870u_proc_info(char *buffer, char
> > if (offset == 0) {
> > memset(buff, 0, sizeof(buff));
> > }
> > - size += sprintf(BLS, "ACARD AEC-671X Driver Version: 2.5+ac\n");
> > + size += sprintf(BLS, "ACARD AEC-671X Driver Version: 2.6+ac\n");
> > len += size;
> > pos = begin + len;
> > size = 0;
> > diff -uNrp linux-2.4.19-rc2/drivers/scsi/megaraid.c linux-2.4.19-rc3/drivers/scsi/megaraid.c
> > --- linux-2.4.19-rc2/drivers/scsi/megaraid.c Sun Jul 21 20:16:41 2002
> > +++ linux-2.4.19-rc3/drivers/scsi/megaraid.c Sun Jul 21 22:08:01 2002
> > @@ -3076,10 +3076,12 @@ static int mega_findCard (Scsi_Host_Temp
> > /*
> > * which firmware
> > */
> > - if( strcmp(megaCfg->fwVer, "H01.07") == 0 ||
> > - strcmp(megaCfg->fwVer, "H01.08") == 0 ) {
> > + if( strcmp(megaCfg->fwVer, "H01.07") == 0 ||
> > + strcmp(megaCfg->fwVer, "H01.08") == 0 ||
> > + strcmp(megaCfg->fwVer, "H01.09") == 0 )
> > + {
> > printk(KERN_WARNING
> > - "megaraid: Firmware H.01.07 or H.01.08 on 1M/2M "
> > + "megaraid: Firmware H.01.07/8/9 on 1M/2M "
> > "controllers\nmegaraid: do not support 64 bit "
> > "addressing.\n"
> > "megaraid: DISABLING 64 bit support.\n");
> > diff -uNrp linux-2.4.19-rc2/drivers/scsi/scsi_scan.c linux-2.4.19-rc3/drivers/scsi/scsi_scan.c
> > --- linux-2.4.19-rc2/drivers/scsi/scsi_scan.c Sun Jul 21 20:16:41 2002
> > +++ linux-2.4.19-rc3/drivers/scsi/scsi_scan.c Sun Jul 21 22:08:01 2002
> > @@ -110,6 +110,10 @@ static struct dev_info device_list[] =
> > {"HP", "C1750A", "3226", BLIST_NOLUN}, /* scanjet iic */
> > {"HP", "C1790A", "", BLIST_NOLUN}, /* scanjet iip */
> > {"HP", "C2500A", "", BLIST_NOLUN}, /* scanjet iicx */
> > + {"HP", "A6188A", "*", BLIST_SPARSELUN}, /* HP Va7100 Array */
> > + {"HP", "A6189A", "*", BLIST_SPARSELUN}, /* HP Va7400 Array */
> > + {"HP", "A6189B", "*", BLIST_SPARSELUN}, /* HP Va7410 Array */
> > + {"HP", "OPEN-", "*", BLIST_SPARSELUN}, /* HP XP Arrays */
> > {"YAMAHA", "CDR100", "1.00", BLIST_NOLUN}, /* Locks up if polled for lun != 0 */
> > {"YAMAHA", "CDR102", "1.00", BLIST_NOLUN}, /* Locks up if polled for lun != 0
> > * extra reset */
> > @@ -173,7 +177,10 @@ static struct dev_info device_list[] =
> > {"HP", "C1557A", "*", BLIST_FORCELUN},
> > {"IBM", "AuSaV1S2", "*", BLIST_FORCELUN},
> > {"FSC", "CentricStor", "*", BLIST_SPARSELUN | BLIST_LARGELUN},
> > -
> > + {"DDN", "SAN DataDirector", "*", BLIST_SPARSELUN},
> > + {"HITACHI", "DF400", "*", BLIST_SPARSELUN},
> > + {"HITACHI", "DF500", "*", BLIST_SPARSELUN},
> > + {"HITACHI", "DF600", "*", BLIST_SPARSELUN},
> >
> > /*
> > * Must be at end of list...
> > diff -uNrp linux-2.4.19-rc2/drivers/sound/cs4232.c linux-2.4.19-rc3/drivers/sound/cs4232.c
> > --- linux-2.4.19-rc2/drivers/sound/cs4232.c Mon Feb 25 11:38:04 2002
> > +++ linux-2.4.19-rc3/drivers/sound/cs4232.c Sun Jul 21 22:08:01 2002
> > @@ -34,6 +34,8 @@
> > * anyway.
> > *
> > * Changes
> > + * John Rood Added Bose Sound System Support.
> > + * Toshio Spoor
> > * Alan Cox Modularisation, Basic cleanups.
> > * Paul Barton-Davis Separated MPU configuration, added
> > * Tropez+ (WaveFront) support
> > @@ -58,6 +60,10 @@
> >
> > #define KEY_PORT 0x279 /* Same as LPT1 status port */
> > #define CSN_NUM 0x99 /* Just a random number */
> > +#define INDEX_ADDRESS 0x00 /* (R0) Index Address Register */
> > +#define INDEX_DATA 0x01 /* (R1) Indexed Data Register */
> > +#define PIN_CONTROL 0x0a /* (I10) Pin Control */
> > +#define ENABLE_PINS 0xc0 /* XCTRL0/XCTRL1 enable */
> >
> > static void CS_OUT(unsigned char a)
> > {
> > @@ -67,6 +73,7 @@ static void CS_OUT(unsigned char a)
> > #define CS_OUT2(a, b) {CS_OUT(a);CS_OUT(b);}
> > #define CS_OUT3(a, b, c) {CS_OUT(a);CS_OUT(b);CS_OUT(c);}
> >
> > +static int __initdata bss = 0;
> > static int mpu_base = 0, mpu_irq = 0;
> > static int synth_base = 0, synth_irq = 0;
> > static int mpu_detected = 0;
> > @@ -97,6 +104,30 @@ static void sleep(unsigned howlong)
> > schedule_timeout(howlong);
> > }
> >
> > +static void enable_xctrl(int baseio)
> > +{
> > + unsigned char regd;
> > +
> > + /*
> > + * Some IBM Aptiva's have the Bose Sound System. By default
> > + * the Bose Amplifier is disabled. The amplifier will be
> > + * activated, by setting the XCTRL0 and XCTRL1 bits.
> > + * Volume of the monitor bose speakers/woofer, can then
> > + * be set by changing the PCM volume.
> > + *
> > + */
> > +
> > + printk("cs4232: enabling Bose Sound System Amplifier.\n");
> > +
> > + /* Switch to Pin Control Address */
> > + regd = inb(baseio + INDEX_ADDRESS) & 0xe0;
> > + outb(((unsigned char) (PIN_CONTROL | regd)), baseio + INDEX_ADDRESS );
> > +
> > + /* Activate the XCTRL0 and XCTRL1 Pins */
> > + regd = inb(baseio + INDEX_DATA);
> > + outb(((unsigned char) (ENABLE_PINS | regd)), baseio + INDEX_DATA );
> > +}
> > +
> > int __init probe_cs4232(struct address_info *hw_config, int isapnp_configured)
> > {
> > int i, n;
> > @@ -275,6 +306,11 @@ void __init attach_cs4232(struct address
> > }
> > hw_config->slots[1] = hw_config2.slots[1];
> > }
> > +
> > + if (bss)
> > + {
> > + enable_xctrl(base);
> > + }
> > }
> >
> > void unload_cs4232(struct address_info *hw_config)
> > @@ -349,6 +385,8 @@ MODULE_PARM(synthirq,"i");
> > MODULE_PARM_DESC(synthirq,"Maui WaveTable IRQ");
> > MODULE_PARM(isapnp,"i");
> > MODULE_PARM_DESC(isapnp,"Enable ISAPnP probing (default 1)");
> > +MODULE_PARM(bss,"i");
> > +MODULE_PARM_DESC(bss,"Enable Bose Sound System Support (default 0)");
> >
> > /*
> > * Install a CS4232 based card. Need to have ad1848 and mpu401
> > diff -uNrp linux-2.4.19-rc2/drivers/sound/maestro.c linux-2.4.19-rc3/drivers/sound/maestro.c
> > --- linux-2.4.19-rc2/drivers/sound/maestro.c Sun Jul 21 20:16:41 2002
> > +++ linux-2.4.19-rc3/drivers/sound/maestro.c Sun Jul 21 22:08:01 2002
> > @@ -3569,9 +3569,19 @@ maestro_probe(struct pci_dev *pcidev,con
> > static void maestro_remove(struct pci_dev *pcidev) {
> > struct ess_card *card = pci_get_drvdata(pcidev);
> > int i;
> > + u32 n;
> >
> > /* XXX maybe should force stop bob, but should be all
> > stopped by _release by now */
> > +
> > + /* Turn off hardware volume control interrupt.
> > + This has to come before we leave the IRQ below,
> > + or a crash results if a button is pressed ! */
> > +
> > + n = inw(card->iobase+0x18);
> > + n&=~(1<<6);
> > + outw(n, card->iobase+0x18);
> > +
> > free_irq(card->irq, card);
> > unregister_sound_mixer(card->dev_mixer);
> > for(i=0;i<NR_DSPS;i++)
> > diff -uNrp linux-2.4.19-rc2/drivers/usb/rtl8150.c linux-2.4.19-rc3/drivers/usb/rtl8150.c
> > --- linux-2.4.19-rc2/drivers/usb/rtl8150.c Sun Jul 21 20:16:42 2002
> > +++ linux-2.4.19-rc3/drivers/usb/rtl8150.c Sun Jul 21 22:08:01 2002
> > @@ -84,7 +84,7 @@ MODULE_DEVICE_TABLE (usb, rtl8150_table)
> >
> >
> > struct rtl8150 {
> > - unsigned int flags;
> > + unsigned long flags;
> > struct usb_device *udev;
> > struct usb_interface *interface;
> > struct semaphore sem;
> > diff -uNrp linux-2.4.19-rc2/include/linux/agp_backend.h linux-2.4.19-rc3/include/linux/agp_backend.h
> > --- linux-2.4.19-rc2/include/linux/agp_backend.h Sun Jul 21 20:16:44 2002
> > +++ linux-2.4.19-rc3/include/linux/agp_backend.h Sun Jul 21 22:08:04 2002
> > @@ -73,6 +73,7 @@ enum chipset_type {
> > ALI_M1644,
> > ALI_M1647,
> > ALI_M1651,
> > + ALI_M1671,
> > ALI_GENERIC,
> > SVWRKS_HE,
> > SVWRKS_LE,
> > diff -uNrp linux-2.4.19-rc2/include/linux/pci_ids.h linux-2.4.19-rc3/include/linux/pci_ids.h
> > --- linux-2.4.19-rc2/include/linux/pci_ids.h Sun Jul 21 20:16:44 2002
> > +++ linux-2.4.19-rc3/include/linux/pci_ids.h Sun Jul 21 22:08:04 2002
> > @@ -1602,13 +1602,15 @@
> > #define PCI_DEVICE_ID_S3_ViRGE_MXPMV 0x8c03
> > #define PCI_DEVICE_ID_S3_SONICVIBES 0xca00
> >
> > +#define PCI_VENDOR_ID_DUNORD 0x5544
> > +#define PCI_DEVICE_ID_DUNORD_I3000 0x0001
> > +#define PCI_VENDOR_ID_GENROCO 0x5555
> > +#define PCI_DEVICE_ID_GENROCO_HFP832 0x0003
> > +
> > #define PCI_VENDOR_ID_DCI 0x6666
> > #define PCI_DEVICE_ID_DCI_PCCOM4 0x0001
> > #define PCI_DEVICE_ID_DCI_PCCOM8 0x0002
> >
> > -#define PCI_VENDOR_ID_GENROCO 0x5555
> > -#define PCI_DEVICE_ID_GENROCO_HFP832 0x0003
> > -
> > #define PCI_VENDOR_ID_INTEL 0x8086
> > #define PCI_DEVICE_ID_INTEL_21145 0x0039
> > #define PCI_DEVICE_ID_INTEL_82375 0x0482
> > diff -uNrp linux-2.4.19-rc2/include/linux/personality.h linux-2.4.19-rc3/include/linux/personality.h
> > --- linux-2.4.19-rc2/include/linux/personality.h Sun Jul 21 20:16:44 2002
> > +++ linux-2.4.19-rc3/include/linux/personality.h Sun Jul 21 22:08:04 2002
> > @@ -62,7 +62,8 @@ enum {
> > PER_RISCOS = 0x000c,
> > PER_SOLARIS = 0x000d | STICKY_TIMEOUTS,
> > PER_UW7 = 0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,
> > - PER_OSF4 = 0x000f, /* OSF/1 v4 */
> > + PER_HPUX = 0x000f,
> > + PER_OSF4 = 0x0010, /* OSF/1 v4 */
> > PER_MASK = 0x00ff,
> > };
> >
> > diff -uNrp linux-2.4.19-rc2/mm/shmem.c linux-2.4.19-rc3/mm/shmem.c
> > --- linux-2.4.19-rc2/mm/shmem.c Sun Jul 21 20:16:44 2002
> > +++ linux-2.4.19-rc3/mm/shmem.c Sun Jul 21 22:08:04 2002
> > @@ -905,7 +905,6 @@ out:
> > fail_write:
> > status = -EFAULT;
> > ClearPageUptodate(page);
> > - kunmap(page);
> > goto unlock;
> > }
> >
> > diff -uNrp linux-2.4.19-rc2/net/ipv4/netfilter/ip_conntrack_core.c linux-2.4.19-rc3/net/ipv4/netfilter/ip_conntrack_core.c
> > --- linux-2.4.19-rc2/net/ipv4/netfilter/ip_conntrack_core.c Sun Jul 21 20:16:44 2002
> > +++ linux-2.4.19-rc3/net/ipv4/netfilter/ip_conntrack_core.c Sun Jul 21 22:08:04 2002
> > @@ -497,11 +497,9 @@ init_conntrack(const struct ip_conntrack
> > /* Try dropping from random chain, or else from the
> > chain about to put into (in case they're trying to
> > bomb one hash chain). */
> > - if (drop_next == ip_conntrack_htable_size-1)
> > - drop_next = 0;
> > - else
> > - drop_next++;
> > - if (!early_drop(&ip_conntrack_hash[drop_next])
> > + unsigned int next = (drop_next++)%ip_conntrack_htable_size;
> > +
> > + if (!early_drop(&ip_conntrack_hash[next])
> > && !early_drop(&ip_conntrack_hash[hash])) {
> > if (net_ratelimit())
> > printk(KERN_WARNING
> > diff -uNrp linux-2.4.19-rc2/net/rose/af_rose.c linux-2.4.19-rc3/net/rose/af_rose.c
> > --- linux-2.4.19-rc2/net/rose/af_rose.c Sun Jul 21 20:16:44 2002
> > +++ linux-2.4.19-rc3/net/rose/af_rose.c Sun Jul 21 22:08:04 2002
> > @@ -26,6 +26,7 @@
> > *
> > * ROSE 0.63 Jean-Paul(F6FBB) Fixed wrong length of L3 packets
> > * Added CLEAR_REQUEST facilities
> > + * ROSE 0.64 Jean-Paul(F6FBB) Fixed null pointer in rose_kill_by_device
> > */
> >
> > #include <linux/config.h>
> > @@ -227,7 +228,8 @@ static void rose_kill_by_device(struct n
> > for (s = rose_list; s != NULL; s = s->next) {
> > if (s->protinfo.rose->device == dev) {
> > rose_disconnect(s, ENETUNREACH, ROSE_OUT_OF_ORDER, 0);
> > - s->protinfo.rose->neighbour->use--;
> > + if (s->protinfo.rose->neighbour)
> > + s->protinfo.rose->neighbour->use--;
> > s->protinfo.rose->device = NULL;
> > }
> > }
> > @@ -1433,7 +1435,7 @@ static struct notifier_block rose_dev_no
> >
> > static struct net_device *dev_rose;
> >
> > -static const char banner[] = KERN_INFO "F6FBB/G4KLX ROSE for Linux. Version 0.63 for AX25.037 Linux 2.4\n";
> > +static const char banner[] = KERN_INFO "F6FBB/G4KLX ROSE for Linux. Version 0.64 for AX25.037 Linux 2.4\n";
> >
> > static int __init rose_proto_init(void)
> > {
>
> --
> --
> Greetings,
>
> Marc Duponcheel Multicast Development Engineer Cisco Systems
> email: mduponch@cisco.com tel: +32 2 704 52 40 cell: +32 478 68 10 91
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
--
--
Greetings,
Marc Duponcheel Multicast Development Engineer Cisco Systems
email: mduponch@cisco.com tel: +32 2 704 52 40 cell: +32 478 68 10 91
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2002-07-29 10:56 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <Pine.LNX.4.44.0207232309370.30729-100000@freak.distro.conectiva>
[not found] ` <3D3E1FB8.20CB0F@zip.com.au>
2002-07-25 17:01 ` 2.4.19-rc2 -> 2.4.19-rc3 : no more eth (fwd) Marc Duponcheel
2002-07-25 19:19 ` Andrew Morton
2002-07-26 7:36 ` Thunder from the hill
2002-07-26 7:53 ` Andrew Morton
2002-07-28 9:03 ` Thunder from the hill
2002-07-26 13:38 ` Marc Duponcheel
2002-07-29 10:58 ` Marc Duponcheel
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.