ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.69/2.5.69-mm5/
Various fixes. It should even compile on uniprocessor.
I dropped all the NFS client changes, which have been in -mm for ages. A
number of fixes have been merged into Linus's tree and they need testing on
their own.
Changes since 2.5.69-mm4:
-SLAB_STORE_USER-larger-objects.patch
-remove-verify_write-leftovers.patch
-irqreturn-aic79xx.patch
-hrtimers-fix-signone.patch
-module_arch_cleanup-2.patch
-remove-devfs_register.patch
-pnp-irqreturn-fix.patch
-fat-speedup.patch
-vma-merging-missing-fput.patch
-cpufreq-commented-out-code-bogon.patch
-small-cleanup-for-__rmqueue.patch
-cpufreq-oops-fix.patch
-netif_receive_skb-warning-fix.patch
-ext3-quota-reservation-fix.patch
-quota-reference-drop-fix.patch
-bump-module-ref-during-init.patch
-exit_mmap-TASK_SIZE.patch
-semop-race-fix-2.patch
-visws-logo-fix.patch
-clustered-io_apic-fix.patch
-emergency-sync-printk.patch
-clone-retval-fix.patch
-de_thread-fix.patch
-vmalloc-race-fix.patch
-reserve-lustre-EAs.patch
-oprofile-build-fix.patch
-setfont-loadkeys-fix.patch
-htree-nfs-fix.patch
-htree-nfs-fix-2.patch
-htree-leak-fix.patch
Merged
+sound-strncmp-fix.patch
thinko fix
+dac960-typedef-cleanup.patch
cleanup
+loop-warning-fix.patch
compile warning fix
+make-KOBJ_NAME-match-BUS_ID_SIZE.patch
fix susfs string truncation
+xirc2ps_cs-irqreturn-fix.patch
xircom driver IRQ fix
-nfs-speedup.patch
-nfs-oom-fix.patch
-sk-allocation.patch
-nfs-more-oom-fix.patch
-rpciod-atomic-allocations.patch
Dropped.
+vmtruncate-PAGE_SIZE-fix.patch
s/PAGE_CACHE_SIZE/PAGE_SIZE/
+proc-pid-security-labels.patch
security stuff
+reinstate-task-freeing-hack-for-ia64.patch
implement minimal task_struct cache for ia64. Apparently this is required
because the refcounting is wonky.
+kexec-revert-NORET_TYPE.patch
Remove the NORET_TYPE stuff from kexec. It causes pain for non-ia32.
-fbdev-updates.patch
Other merges broke it.
+kexec-warning-fixes-2.patch
Fix more kexec warnings
+miropcm-fix.patch
Build fix.
+ide-tcq-1.patch
Resurrect IDE TCQ, perhaps.
+synclink_cs-update.patch
driver update
+radeon-fb-64-bit-fix.patch
driver fix
+usb-gadget-preproc-fix.patch
build fix
+net2280-writel-fix.patch
don't writel(outer_space)
+aic-errno-removal.patch
build fix
+aic-non-i386-build-fix.patch
build fix
+aic7xxx-fixes.patch
4G wraparound fixes
+CONFIG_FUTEX.patch
configurable futex code
+scsi_ioctl-fix.patch
CDR detection fix
All 120 patches:
linus.patch
mm.patch
add -mmN to EXTRAVERSION
kgdb-ga.patch
kgdb stub for ia32 (George Anzinger's one)
ipmi-warning-fixes.patch
irqreturn-uml.patch
UML updates for the new IRQ API
irqreturn-drivers-net.patch
slab-magazine-layer.patch
magazine layer for slab
config_spinline.patch
uninline spinlocks for profiling accuracy.
ppc64-ioctl-pci-update.patch
From: Anton Blanchard <[email protected]>
Subject: ppc64 stuff
ppc64-reloc_hide.patch
ppc64-aio-32bit-emulation.patch
32/64bit emulation for aio
ppc64-scruffiness.patch
Fix some PPC64 compile warnings
ppc64-xics-irq-fix.patch
PPC64 irq return fix
sym-do-160.patch
make the SYM driver do 160 MB/sec
sound-strncmp-fix.patch
Subject: Small sound/core fix
irqreturn-snd-via-fix.patch
via sound irqreturn fix
irq_cpustat-cleanup.patch
irq_cpustat cleanup
config-PAGE_OFFSET.patch
Configurable kenrel/user memory split
misc.patch
Misc fixes
large-dma_addr_t-PAE-only.patch
64-bit dma_addr_t is only needed with PAE
irq-check-rate-limit.patch
IRQs: handle bad return values from handlers
irq_desc-others.patch
Fix up irq_desc initialisation for non-ia32
put_dirty_page-protection-fix.patch
dcache_lock-vs-tasklist_lock-take-3.patch
Fix dcache_lock/tasklist_lock ranking bug
hugetlbpage-extern-fix.patch
fix hugetlbpage scoping
buffer-debug.patch
buffer.c debugging
ext3-truncate-ordered-pages.patch
ext3: explicitly free truncated pages
3c59x-irq-fix.patch
VM_RESERVED-check.patch
VM_RESERVED check
dac960-typedef-cleanup.patch
DAC960 typedef cleanup patch
reiserfs_file_write-5.patch
rcu-stats.patch
RCU statistics reporting
ext3-journalled-data-assertion-fix.patch
Remove incorrect assertion from ext3
loop-warning-fix.patch
loop.c warning removal
mtrr-not-used-fix.patch
kernel prints "mtrr: MTRR 2 not used" twice when exiting X
make-KOBJ_NAME-match-BUS_ID_SIZE.patch
Make KOBJ_NAME_LEN match BUS_ID_SIZE
xirc2ps_cs-irqreturn-fix.patch
xirc2ps_cs irq return fix
ide_setting_sem-fix.patch
reslabify-pgds-and-pmds.patch
re-slabify i386 pgd's and pmd's
linux-isp.patch
isp-update-1.patch
list_del-debug.patch
list_del debug check
airo-schedule-fix.patch
airo.c: don't sleep in atomic regions
synaptics-mouse-support.patch
Add Synaptics touchpad tweaking to psmouse driver
clear-smi-fix.patch
Subject: [PATCH] linux-2.5.69_clear-smi-fix_A1
inode-unhashing-fix-2.patch
Don't remove inode from hash until filesystem has deleted it
kblockd.patch
Create `kblockd' workqueue
cfq-infrastructure.patch
elevator-completion-api.patch
elevator completion API
as-iosched.patch
anticipatory I/O scheduler
as-use-completion.patch
AS use completion notifier
as-remove-debug-checks.patch
AS: remove debug checks
as-iosched-dyn.patch
AS: update to dynamic request allocation API
as-monitor-seek-distance.patch
AS: monitor seek distance
as-div64-fix.patch
as: don't do 64-bit divides
as-small-hashes.patch
AS: smaller hashes
unplug-use-kblockd.patch
Use kblockd for running request queues
cfq-2.patch
CFQ scheduler, #2
cfq-iosched-dyn.patch
CFQ: update to rq-dyn API
unmap-page-debugging.patch
unmap unused pages for debugging
fremap-all-mappings.patch
Make all executable mappings be nonlinear
sched-2.5.68-B2.patch
HT scheduler, sched-2.5.68-B2
sched-numa-warning-fix.patch
scheduler warning fix for NUMA
sched_idle-typo-fix.patch
fix sched_idle typo
kgdb-ga-idle-fix.patch
acpi-irq-ret-fix.patch
acpi irq return value fix
sound-irq-hack.patch
vmtruncate-PAGE_SIZE-fix.patch
Fix for latent bug in vmtruncate()
sched-2.5.64-D3.patch
sched-2.5.64-D3, more interactivity changes
sched_best_cpu-fix.patch
sched_best_cpu does not pick best cpu
sched_best_cpu-fix-2.patch
sched_best_cpu does not pick best cpu (2/2)
generic_hweight64-fix.patch
sched_best_cpu_fix-4.patch
Even more sched_best_cpu fixes
show_task-free-stack-fix.patch
show_task() fix and cleanup
spinlock-debugging-improvement.patch
Make debugging variant of spinlocks a bit more robust
put_task_struct-debug.patch
ia32-mknod64.patch
mknod64 for ia32
ext2-64-bit-special-inodes.patch
ext2: support for 64-bit device nodes
ext3-64-bit-special-inodes.patch
ext3: support for 64-bit device nodes
64-bit-dev_t-kdev_t.patch
64-bit dev_t and kdev_t
tty-64-bit-dev_t-warning-fix.patch
tty layer 64-bit dev_t printk warning fix
oops-dump-preceding-code.patch
i386 oops output: dump preceding code
lockmeter.patch
security-process-attribute-api.patch
Process Attribute API for Security Modules
proc-pid-security-labels.patch
/proc/pid inode security labels
thread-info-in-task_struct.patch
allow thread_info to be allocated as part of task_struct
reinstate-task-freeing-hack-for-ia64.patch
reinstate lame task_struct (non)-refcounting hack/fix
ext3-no-bkl.patch
journal_dirty_metadata-speedup.patch
journal_get_write_access-speedup.patch
ext3-concurrent-block-inode-allocation.patch
Subject: [PATCH] concurrent block/inode allocation for EXT3
ext3-orlov-approx-counter-fix.patch
Fix orlov allocator boundary case
ext3-concurrent-block-allocation-fix-1.patch
ext3-concurrent-block-allocation-hashed.patch
Subject: Re: [PATCH] concurrent block/inode allocation for EXT3
pcmcia-deadlock-fix-3.patch
Fix PCMCIA deadlock (rev. 2)
reboot_on_bsp.patch
kexec-revert-NORET_TYPE.patch
apic_shutdown.patch
i8259-shutdown.patch
hwfixes-x86kexec.patch
kexec-warning-fixes-2.patch
v4l-1.patch
Subject: [patch] v4l: #1 - video-buf update
v4l-2.patch
Subject: [patch] v4l: #2 - v4l1-compat update
v4l-3.patch
Subject: [patch] v4l: #3 - bttv driver update
v4l-4.patch
Subject: [patch] v4l: #4 - bttv docmentation update
v4l-5.patch
Subject: [patch] v4l: #5 - i2c module updates.
v4l-6.patch
Subject: [patch] v4l: #6 - tuner module update
v4l-7.patch
Subject: [patch] v4l: #7 - saa7134 driver update
checker-1.patch
miropcm-fix.patch
miropcm20-rds.c build fix
ide-tcq-1.patch
First part of getting ide-tcq in line...
synclink_cs-update.patch
synclink_cs update
radeon-fb-64-bit-fix.patch
radeonfb.c 64-bit fixes
usb-gadget-preproc-fix.patch
usb gadget typo fix
net2280-writel-fix.patch
net2280 writel fix
aic-errno-removal.patch
aic7xxx build fix
aic-non-i386-build-fix.patch
aic7xxx non-i386 build fix
aic7xxx-fixes.patch
CONFIG_FUTEX.patch
FUTEX support should be optional
scsi_ioctl-fix.patch
scsi_ioctl fix for CDR detection
On May 14, 2003 04:29 am, Andrew Morton wrote:
> Various fixes. It should even compile on uniprocessor.
OK. It does compile. There are a few module problems though:
if [ -r System.map ]; then /sbin/depmod -ae -F System.map 2.5.69-mm5; fi
WARNING: /lib/modules/2.5.69-mm5/kernel/sound/isa/snd-es18xx.ko needs unknown symbol isapnp_protocol
WARNING: /lib/modules/2.5.69-mm5/kernel/arch/i386/kernel/suspend.ko needs unknown symbol enable_sep_cpu
WARNING: /lib/modules/2.5.69-mm5/kernel/arch/i386/kernel/suspend.ko needs unknown symbol default_ldt
WARNING: /lib/modules/2.5.69-mm5/kernel/arch/i386/kernel/suspend.ko needs unknown symbol init_tss
WARNING: /lib/modules/2.5.69-mm5/kernel/arch/i386/kernel/apm.ko needs unknown symbol save_processor_state
WARNING: /lib/modules/2.5.69-mm5/kernel/arch/i386/kernel/apm.ko needs unknown symbol restore_processor_state
The snd-es18xx.ko problem has existed in 69-bk for a while (I do not understand why this one happens -
can some look at it and educate me? Please). The rest are new with mm5. I have not built a recient bk to
if they are local to mm.
Ed Tomlinson
I like to at least build the new stuff that comes out with Andrew's
patches, and building the new gadget code that came out in -mm4 I got
this when building as a module:
make -f scripts/Makefile.build obj=drivers/serial
make -f scripts/Makefile.build obj=drivers/usb/gadget
gcc -Wp,-MD,drivers/usb/gadget/.net2280.o.d -D__KERNEL__ -Iinclude
-Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
-fno-common -pipe -mpreferred-stack-boundary=2 -march=i686
-Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc
-iwithprefix include -DMODULE -DKBUILD_BASENAME=net2280
-DKBUILD_MODNAME=net2280 -c -o drivers/usb/gadget/net2280.o
drivers/usb/gadget/net2280.c
drivers/usb/gadget/net2280.c:2623: pci_ids causes a section type
conflict
make[2]: *** [drivers/usb/gadget/net2280.o] Error 1
make[1]: *** [drivers/usb/gadget] Error 2
make: *** [drivers] Error 2
I was not able to test this particular part of the code with -mm4, as I
use a single processor system and could not get to the module building
process then.
I have also tested this by compiling it into the kernel, with the same
results:
gcc -Wp,-MD,drivers/usb/gadget/.net2280.o.d -D__KERNEL__ -Iinclude
-Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
-fno-common -pipe -mpreferred-stack-boundary=2 -march=i686
-Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc
-iwithprefix include -DKBUILD_BASENAME=net2280
-DKBUILD_MODNAME=net2280 -c -o drivers/usb/gadget/net2280.o
drivers/usb/gadget/net2280.c
drivers/usb/gadget/net2280.c:2623: pci_ids causes a section type
conflict
make[2]: *** [drivers/usb/gadget/net2280.o] Error 1
make[1]: *** [drivers/usb/gadget] Error 2
make: *** [drivers] Error 2
It seems the following compile error comes from Linus' tree:
<-- snip -->
...
gcc -Wp,-MD,drivers/net/.sb1000.o.d -D__KERNEL__ -Iinclude -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe
-mpreferred-stack-boundary=2 -march=k6 -Iinclude/asm-i386/mach-default -nostdinc
-iwithprefix include -DKBUILD_BASENAME=sb1000 -DKBUILD_MODNAME=sb1000 -c -o
drivers/net/sb1000.o drivers/net/sb1000.c
drivers/net/sb1000.c: In function `sb1000_probe_one':
drivers/net/sb1000.c:191: warning: implicit declaration of function
`alloc_netdev'
drivers/net/sb1000.c:191: warning: assignment makes pointer from integer
without a cast
drivers/net/sb1000.c:154: warning: `dev' might be used uninitialized in
this function
...
... --end-group -o .tmp_vmlinux1
drivers/built-in.o(.text+0x22e7b5): In function `sb1000_probe_one':
: undefined reference to `alloc_netdev'
...
make: *** [.tmp_vmlinux1] Error 1
<-- snip -->
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
On Wed, May 14, 2003 at 10:33:43AM -0400, Jon K. Akers wrote:
> I like to at least build the new stuff that comes out with Andrew's
> patches, and building the new gadget code that came out in -mm4 I got
> this when building as a module:
>
> make -f scripts/Makefile.build obj=drivers/serial
> make -f scripts/Makefile.build obj=drivers/usb/gadget
> gcc -Wp,-MD,drivers/usb/gadget/.net2280.o.d -D__KERNEL__ -Iinclude
> -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
> -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686
> -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc
> -iwithprefix include -DMODULE -DKBUILD_BASENAME=net2280
> -DKBUILD_MODNAME=net2280 -c -o drivers/usb/gadget/net2280.o
> drivers/usb/gadget/net2280.c
> drivers/usb/gadget/net2280.c:2623: pci_ids causes a section type
> conflict
Do you get the same error on the latest -bk patch from Linus's tree?
And what CONFIG_USB_GADGET_* .config options do you have enabled?
thanks,
greg k-h
Currently I do not use the -bk patches from Linus's tree, although I
suppose I could give it a shot.
My .config for that section follows:
#
# USB support
#
# CONFIG_USB is not set
CONFIG_USB_GADGET=y
#
# USB Peripheral Controller Support
#
CONFIG_USB_NET2280=y
#
# USB Gadget Drivers
#
CONFIG_USB_ZERO=m
CONFIG_USB_ZERO_NET2280=y
CONFIG_USB_ETH=y
CONFIG_USB_ETH_NET2280=y
I also had the USB_ETH series set for modules and got the same result.
> -----Original Message-----
> From: Greg KH [mailto:[email protected]]
> Sent: Wednesday, May 14, 2003 12:31 PM
> To: Jon K. Akers
> Cc: Andrew Morton; [email protected]; [email protected]
>
> On Wed, May 14, 2003 at 10:33:43AM -0400, Jon K. Akers wrote:
> > I like to at least build the new stuff that comes out with Andrew's
> > patches, and building the new gadget code that came out in -mm4 I
got
> > this when building as a module:
> >
> > make -f scripts/Makefile.build obj=drivers/serial
> > make -f scripts/Makefile.build obj=drivers/usb/gadget
> > gcc -Wp,-MD,drivers/usb/gadget/.net2280.o.d -D__KERNEL__ -Iinclude
> > -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing
> > -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686
> > -Iinclude/asm-i386/mach-default -fomit-frame-pointer -nostdinc
> > -iwithprefix include -DMODULE -DKBUILD_BASENAME=net2280
> > -DKBUILD_MODNAME=net2280 -c -o drivers/usb/gadget/net2280.o
> > drivers/usb/gadget/net2280.c
> > drivers/usb/gadget/net2280.c:2623: pci_ids causes a section type
> > conflict
>
> Do you get the same error on the latest -bk patch from Linus's tree?
>
> And what CONFIG_USB_GADGET_* .config options do you have enabled?
>
> thanks,
>
> greg k-h
On Wed, May 14, 2003 at 12:35:26PM -0400, Jon K. Akers wrote:
> Currently I do not use the -bk patches from Linus's tree, although I
> suppose I could give it a shot.
>
> My .config for that section follows:
>
> #
> # USB support
> #
> # CONFIG_USB is not set
> CONFIG_USB_GADGET=y
>
> #
> # USB Peripheral Controller Support
> #
> CONFIG_USB_NET2280=y
>
> #
> # USB Gadget Drivers
> #
> CONFIG_USB_ZERO=m
> CONFIG_USB_ZERO_NET2280=y
> CONFIG_USB_ETH=y
> CONFIG_USB_ETH_NET2280=y
Yeah, you can't compile both of these drivers directly in the kernel at
the same time. David Brownell posted a patch for this yesterday to lkml
and I'll send it on to Linus later on today.
thanks,
greg k-h
Adrian Bunk <[email protected]> wrote:
>
> drivers/built-in.o(.text+0x22e7b5): In function `sb1000_probe_one':
> : undefined reference to `alloc_netdev'
> ...
This should fix. I'm not sure why it's overriding dev->flags.
drivers/net/sb1000.c | 18 ++++++------------
1 files changed, 6 insertions(+), 12 deletions(-)
diff -puN drivers/net/sb1000.c~sb1000-fix drivers/net/sb1000.c
--- 25/drivers/net/sb1000.c~sb1000-fix 2003-05-14 10:24:35.000000000 -0700
+++ 25-akpm/drivers/net/sb1000.c 2003-05-14 10:30:36.000000000 -0700
@@ -137,17 +137,6 @@ static const struct pnp_device_id sb1000
};
MODULE_DEVICE_TABLE(pnp, sb1000_pnp_ids);
-static void
-sb1000_setup(struct net_device *dev)
-{
- dev->type = ARPHRD_ETHER;
- dev->mtu = 1500;
- dev->addr_len = ETH_ALEN;
-
- /* New-style flags. */
- dev->flags = IFF_POINTOPOINT|IFF_NOARP;
-}
-
static int
sb1000_probe_one(struct pnp_dev *pdev, const struct pnp_device_id *id)
{
@@ -188,11 +177,16 @@ sb1000_probe_one(struct pnp_dev *pdev, c
"S/N %#8.8x, IRQ %d.\n", dev->name, dev->base_addr,
dev->mem_start, serial_number, dev->irq);
- dev = alloc_netdev(sizeof(struct sb1000_private), "cm%d", sb1000_setup);
+ dev = alloc_etherdev(sizeof(struct sb1000_private));
if (!dev) {
error = -ENOMEM;
goto out_release_regions;
}
+
+ /* New-style flags. */
+ /* This seems bogus */
+ dev->flags = IFF_POINTOPOINT|IFF_NOARP;
+
SET_MODULE_OWNER(dev);
if (sb1000_debug > 0)
_
On Mer, 2003-05-14 at 18:31, Andrew Morton wrote:
> + /* New-style flags. */
> + /* This seems bogus */
> + dev->flags = IFF_POINTOPOINT|IFF_NOARP;
> +
Its far from bogus. Its an rx only cable modem device. Your uplink is
modem and you dont want to arp on it
Alan Cox <[email protected]> wrote:
>
> Its far from bogus. Its an rx only cable modem device. Your uplink is
> modem and you dont want to arp on it
diff -puN drivers/net/sb1000.c~sb1000-fix drivers/net/sb1000.c
--- 25/drivers/net/sb1000.c~sb1000-fix Wed May 14 12:39:10 2003
+++ 25-akpm/drivers/net/sb1000.c Wed May 14 12:40:20 2003
@@ -137,17 +137,6 @@ static const struct pnp_device_id sb1000
};
MODULE_DEVICE_TABLE(pnp, sb1000_pnp_ids);
-static void
-sb1000_setup(struct net_device *dev)
-{
- dev->type = ARPHRD_ETHER;
- dev->mtu = 1500;
- dev->addr_len = ETH_ALEN;
-
- /* New-style flags. */
- dev->flags = IFF_POINTOPOINT|IFF_NOARP;
-}
-
static int
sb1000_probe_one(struct pnp_dev *pdev, const struct pnp_device_id *id)
{
@@ -188,11 +177,18 @@ sb1000_probe_one(struct pnp_dev *pdev, c
"S/N %#8.8x, IRQ %d.\n", dev->name, dev->base_addr,
dev->mem_start, serial_number, dev->irq);
- dev = alloc_netdev(sizeof(struct sb1000_private), "cm%d", sb1000_setup);
+ dev = alloc_etherdev(sizeof(struct sb1000_private));
if (!dev) {
error = -ENOMEM;
goto out_release_regions;
}
+
+ /*
+ * The SB1000 is an rx-only cable modem device. The uplink is a modem
+ * and we do not want to arp on it.
+ */
+ dev->flags = IFF_POINTOPOINT|IFF_NOARP;
+
SET_MODULE_OWNER(dev);
if (sb1000_debug > 0)
_
It seems the following problem comes from Linus' tree:
<-- snip -->
...
... --end-group -o .tmp_vmlinux1
arch/i386/kernel/built-in.o(.data+0x1fae): In function `do_suspend_lowlevel':
: undefined reference to `saved_context_esp'
arch/i386/kernel/built-in.o(.data+0x1fb3): In function `do_suspend_lowlevel':
: undefined reference to `saved_context_eax'
arch/i386/kernel/built-in.o(.data+0x1fb9): In function `do_suspend_lowlevel':
: undefined reference to `saved_context_ebx'
...
make: *** [.tmp_vmlinux1] Error 1
<-- snip -->
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
Hi!
Mikpe, is this your diff?
revision 1.16
date: 2003/05/11 18:58:48; author: mikpe; state: Exp; lines: +2 -4
restore sysenter MSRs at APM resume
I do not know why you changed it (it has certainly nothing to do with
APM resume)... Please revert it.
Pavel
Index: suspend.c
===================================================================
RCS file:
/home/pavel/sf/bitbucket/bkcvs/linux-2.5/arch/i386/kernel/suspend.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- suspend.c 8 Apr 2003 16:46:44 -0000 1.15
+++ suspend.c 11 May 2003 18:58:48 -0000 1.16
@@ -27,9 +27,7 @@
#include <asm/tlbflush.h>
static struct saved_context saved_context;
-unsigned long saved_context_eax, saved_context_ebx,
saved_context_ecx, saved_context_edx;
-unsigned long saved_context_esp, saved_context_ebp,
saved_context_esi, saved_context_edi;
-unsigned long saved_context_eflags;
+static void fix_processor_context(void);
extern void enable_sep_cpu(void *);
@@ -107,7 +105,7 @@
do_fpu_end();
}
-void fix_processor_context(void)
+static void fix_processor_context(void)
{
int cpu = smp_processor_id();
struct tss_struct * t = init_tss + cpu;
> It seems the following problem comes from Linus' tree:
>
> <-- snip -->
>
> ...
> ... --end-group -o .tmp_vmlinux1
> arch/i386/kernel/built-in.o(.data+0x1fae): In function `do_suspend_lowlevel':
> : undefined reference to `saved_context_esp'
> arch/i386/kernel/built-in.o(.data+0x1fb3): In function `do_suspend_lowlevel':
> : undefined reference to `saved_context_eax'
> arch/i386/kernel/built-in.o(.data+0x1fb9): In function `do_suspend_lowlevel':
> : undefined reference to `saved_context_ebx'
> ...
> make: *** [.tmp_vmlinux1] Error 1
>
--
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
From: Andrew Morton <[email protected]>
Date: Wed, 14 May 2003 12:41:06 -0700
Alan Cox <[email protected]> wrote:
> Its far from bogus. Its an rx only cable modem device. Your uplink is
> modem and you dont want to arp on it
diff -puN drivers/net/sb1000.c~sb1000-fix drivers/net/sb1000.c
--- 25/drivers/net/sb1000.c~sb1000-fix Wed May 14 12:39:10 2003
+++ 25-akpm/drivers/net/sb1000.c Wed May 14 12:40:20 2003
Applied, thanks Andrew.
Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.69/2.5.69-mm5/
>
> Various fixes. It should even compile on uniprocessor.
Indeed. It compiles and runs fine on UP and SMP.
Helge Hafting
Adrian Bunk writes:
> It seems the following problem comes from Linus' tree:
>
> <-- snip -->
>
> ...
> ... --end-group -o .tmp_vmlinux1
> arch/i386/kernel/built-in.o(.data+0x1fae): In function `do_suspend_lowlevel':
> : undefined reference to `saved_context_esp'
> arch/i386/kernel/built-in.o(.data+0x1fb3): In function `do_suspend_lowlevel':
> : undefined reference to `saved_context_eax'
> arch/i386/kernel/built-in.o(.data+0x1fb9): In function `do_suspend_lowlevel':
> : undefined reference to `saved_context_ebx'
My fault, sorry. When I grepped for these variables I failed to notice
the references in acpi/wakeup.S. This patch fixes this.
/Mikael
--- linux-2.5.69-bk9/arch/i386/kernel/suspend_asm.S.~1~ 2003-05-15 11:07:04.000000000 +0200
+++ linux-2.5.69-bk9/arch/i386/kernel/suspend_asm.S 2003-05-15 11:09:29.000000000 +0200
@@ -7,6 +7,12 @@
#include <asm/page.h>
.data
+ .align 4
+ .globl saved_context_eax, saved_context_ebx
+ .globl saved_context_ecx, saved_context_edx
+ .globl saved_context_esp, saved_context_ebp
+ .globl saved_context_esi, saved_context_edi
+ .globl saved_context_eflags
saved_context_eax:
.long 0
saved_context_ebx:
Pavel Machek writes:
> Hi!
>
> Mikpe, is this your diff?
>
> revision 1.16
> date: 2003/05/11 18:58:48; author: mikpe; state: Exp; lines: +2 -4
> restore sysenter MSRs at APM resume
>
> I do not know why you changed it (it has certainly nothing to do with
> APM resume)... Please revert it.
I've just posted a fix for the compile error.
APM suspend and resume now use the save and restore processor state
procedures in suspend.c. The only alternative is to duplicate that
functionality in apm.c or a new "suspend-but-not-tied-to-acpi.c" file.
But suspend.c is fairly generic so it makes sense to share it with APM.
The suspend.c changes are cleanups. The variables are only used in acpi's
suspend_asm.S and acpi/wakeup.S, so I moved them to suspend_asm.S since
they aren't needed when suspend is done by APM. fix_processor_context()
isn't used outside of suspend.c so I made it static.
Do you still have a problem with this?
/Mikael
Hi!
> > Mikpe, is this your diff?
> >
> > revision 1.16
> > date: 2003/05/11 18:58:48; author: mikpe; state: Exp; lines: +2 -4
> > restore sysenter MSRs at APM resume
> >
> > I do not know why you changed it (it has certainly nothing to do with
> > APM resume)... Please revert it.
>
> I've just posted a fix for the compile error.
>
> APM suspend and resume now use the save and restore processor state
> procedures in suspend.c. The only alternative is to duplicate that
> functionality in apm.c or a new "suspend-but-not-tied-to-acpi.c" file.
> But suspend.c is fairly generic so it makes sense to share it with APM.
>
> The suspend.c changes are cleanups. The variables are only used in acpi's
> suspend_asm.S and acpi/wakeup.S, so I moved them to suspend_asm.S since
> they aren't needed when suspend is done by APM. fix_processor_context()
> isn't used outside of suspend.c so I made it static.
>
> Do you still have a problem with this?
No, it actually looks better than original. Just make sure it is in
for 2.5.70...
Pavel
--
Horseback riding is like software...
...vgf orggre jura vgf serr.
On Wed, May 14, 2003 at 01:29:47AM -0700, Andrew Morton wrote:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.5/2.5.69/2.5.69-mm5/
>
> Various fixes. It should even compile on uniprocessor.
> I dropped all the NFS client changes, which have been in -mm for ages. A
> number of fixes have been merged into Linus's tree and they need testing on
> their own.
put_page_testzero() does BUG_ON(page_count(page)) when its argument
is p.
-- wli
diff -prauN linux-2.5.69-bk9/include/linux/mm.h numaq-2.5.69-bk9-1/include/linux/mm.h
--- linux-2.5.69-bk9/include/linux/mm.h 2003-05-15 12:01:44.000000000 -0700
+++ numaq-2.5.69-bk9-1/include/linux/mm.h 2003-05-15 12:26:34.000000000 -0700
@@ -214,7 +214,7 @@ struct page {
*/
#define put_page_testzero(p) \
({ \
- BUG_ON(page_count(page) == 0); \
+ BUG_ON(page_count(p) == 0); \
atomic_dec_and_test(&(p)->count); \
})