CVSROOT: /home/cvs
Module name: linux
Changes by: ralf@ftp.linux-mips.org 05/08/29 17:15:28
Modified files:
. : Makefile
arch/arm/mach-ixp4xx: coyote-setup.c gtwx5715-setup.c
ixdp425-setup.c
arch/ia64/pci : pci.c
arch/mips : defconfig
arch/mips/configs: atlas_defconfig capcella_defconfig
cobalt_defconfig db1000_defconfig
db1100_defconfig db1500_defconfig
db1550_defconfig ddb5476_defconfig
ddb5477_defconfig decstation_defconfig
e55_defconfig ev64120_defconfig
ev96100_defconfig ip22_defconfig
ip27_defconfig ip32_defconfig
it8172_defconfig ivr_defconfig
jaguar-atx_defconfig jmr3927_defconfig
lasat200_defconfig malta_defconfig
mpc30x_defconfig ocelot_3_defconfig
ocelot_c_defconfig ocelot_defconfig
ocelot_g_defconfig pb1100_defconfig
pb1500_defconfig pb1550_defconfig
qemu_defconfig rbhma4500_defconfig
rm200_defconfig sb1250-swarm_defconfig
sead_defconfig tb0226_defconfig
tb0229_defconfig workpad_defconfig
yosemite_defconfig
arch/ppc/syslib: m8xx_setup.c
arch/ppc64/kernel: setup.c
arch/sparc64/kernel: pci.c
arch/um/drivers: mmapper_kern.c
arch/x86_64 : defconfig
arch/x86_64/kernel: e820.c
arch/x86_64/mm : init.c numa.c
drivers/acpi/sleep: poweroff.c
drivers/block : cfq-iosched.c
drivers/char : vt.c
drivers/hwmon : adm1026.c adm1031.c adm9240.c fscpos.c
smsc47b397.c smsc47m1.c
drivers/ieee1394: ohci1394.c
drivers/infiniband/core: uverbs_main.c
drivers/isdn/capi: capifs.c
drivers/md : md.c
drivers/media/dvb/dvb-usb: dibusb-common.c dvb-usb-dvb.c
drivers/net : tg3.c
drivers/net/hamradio: 6pack.c
drivers/net/ibm_emac: ibm_emac_core.c
drivers/pci : setup-bus.c setup-res.c
drivers/s390/cio: qdio.c
drivers/s390/scsi: zfcp_aux.c zfcp_ccw.c zfcp_def.h zfcp_erp.c
zfcp_ext.h zfcp_fsf.c zfcp_scsi.c
zfcp_sysfs_port.c
drivers/scsi : sg.c
fs : inotify.c
fs/cifs : file.c
fs/hppfs : hppfs_kern.c
fs/sysfs : inode.c
include/asm-m68k: page.h
include/asm-ppc64: bug.h
include/asm-x86_64: e820.h
kernel : cpuset.c
lib : idr.c
net/ipv4 : fib_trie.c
Log message:
Merge with Linux 2.6.13.
diff -urN linux/Makefile linux/Makefile
--- linux/Makefile 2005/08/24 16:22:47 1.261
+++ linux/Makefile 2005/08/29 16:15:19 1.262
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 13
-EXTRAVERSION =-rc7
+EXTRAVERSION =
NAME=Woozy Numbat
# *DOCUMENTATION*
diff -urN linux/arch/arm/mach-ixp4xx/coyote-setup.c
linux/arch/arm/mach-ixp4xx/coyote-setup.c
--- linux/arch/arm/mach-ixp4xx/coyote-setup.c 2005/08/08 12:30:24 1.11
+++ linux/arch/arm/mach-ixp4xx/coyote-setup.c 2005/08/29 16:15:19 1.12
@@ -36,7 +36,7 @@
static struct resource coyote_flash_resource = {
.start = COYOTE_FLASH_BASE,
- .end = COYOTE_FLASH_BASE + COYOTE_FLASH_SIZE,
+ .end = COYOTE_FLASH_BASE + COYOTE_FLASH_SIZE - 1,
.flags = IORESOURCE_MEM,
};
diff -urN linux/arch/arm/mach-ixp4xx/gtwx5715-setup.c
linux/arch/arm/mach-ixp4xx/gtwx5715-setup.c
--- linux/arch/arm/mach-ixp4xx/gtwx5715-setup.c 2005/08/08 12:30:24 1.3
+++ linux/arch/arm/mach-ixp4xx/gtwx5715-setup.c 2005/08/29 16:15:19 1.4
@@ -114,7 +114,7 @@
static struct resource gtwx5715_flash_resource = {
.start = GTWX5715_FLASH_BASE,
- .end = GTWX5715_FLASH_BASE + GTWX5715_FLASH_SIZE,
+ .end = GTWX5715_FLASH_BASE + GTWX5715_FLASH_SIZE - 1,
.flags = IORESOURCE_MEM,
};
diff -urN linux/arch/arm/mach-ixp4xx/ixdp425-setup.c
linux/arch/arm/mach-ixp4xx/ixdp425-setup.c
--- linux/arch/arm/mach-ixp4xx/ixdp425-setup.c 2005/08/08 12:30:24 1.10
+++ linux/arch/arm/mach-ixp4xx/ixdp425-setup.c 2005/08/29 16:15:19 1.11
@@ -36,7 +36,7 @@
static struct resource ixdp425_flash_resource = {
.start = IXDP425_FLASH_BASE,
- .end = IXDP425_FLASH_BASE + IXDP425_FLASH_SIZE,
+ .end = IXDP425_FLASH_BASE + IXDP425_FLASH_SIZE - 1,
.flags = IORESOURCE_MEM,
};
diff -urN linux/arch/ia64/pci/pci.c linux/arch/ia64/pci/pci.c
--- linux/arch/ia64/pci/pci.c 2005/08/01 18:23:46 1.33
+++ linux/arch/ia64/pci/pci.c 2005/08/29 16:15:19 1.34
@@ -380,6 +380,7 @@
res->start = region->start + offset;
res->end = region->end + offset;
}
+EXPORT_SYMBOL(pcibios_bus_to_resource);
static int __devinit is_valid_resource(struct pci_dev *dev, int idx)
{
diff -urN linux/arch/mips/defconfig linux/arch/mips/defconfig
--- linux/arch/mips/defconfig 2005/08/24 16:22:51 1.309
+++ linux/arch/mips/defconfig 2005/08/29 16:15:19 1.310
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:45:23 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:30:39 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/atlas_defconfig
linux/arch/mips/configs/atlas_defconfig
--- linux/arch/mips/configs/atlas_defconfig 2005/08/24 16:22:51 1.74
+++ linux/arch/mips/configs/atlas_defconfig 2005/08/29 16:15:20 1.75
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:45:26 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:30:43 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/capcella_defconfig
linux/arch/mips/configs/capcella_defconfig
--- linux/arch/mips/configs/capcella_defconfig 2005/08/24 16:22:51 1.74
+++ linux/arch/mips/configs/capcella_defconfig 2005/08/29 16:15:20 1.75
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:45:29 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:30:46 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/cobalt_defconfig
linux/arch/mips/configs/cobalt_defconfig
--- linux/arch/mips/configs/cobalt_defconfig 2005/08/24 16:22:51 1.70
+++ linux/arch/mips/configs/cobalt_defconfig 2005/08/29 16:15:20 1.71
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:45:31 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:30:51 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/db1000_defconfig
linux/arch/mips/configs/db1000_defconfig
--- linux/arch/mips/configs/db1000_defconfig 2005/08/24 16:22:51 1.76
+++ linux/arch/mips/configs/db1000_defconfig 2005/08/29 16:15:20 1.77
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:45:34 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:30:55 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/db1100_defconfig
linux/arch/mips/configs/db1100_defconfig
--- linux/arch/mips/configs/db1100_defconfig 2005/08/24 16:22:52 1.75
+++ linux/arch/mips/configs/db1100_defconfig 2005/08/29 16:15:20 1.76
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:45:37 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:30:58 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/db1500_defconfig
linux/arch/mips/configs/db1500_defconfig
--- linux/arch/mips/configs/db1500_defconfig 2005/08/24 16:22:52 1.78
+++ linux/arch/mips/configs/db1500_defconfig 2005/08/29 16:15:20 1.79
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:45:40 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:02 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/db1550_defconfig
linux/arch/mips/configs/db1550_defconfig
--- linux/arch/mips/configs/db1550_defconfig 2005/08/24 16:22:52 1.53
+++ linux/arch/mips/configs/db1550_defconfig 2005/08/29 16:15:20 1.54
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:45:43 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:06 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/ddb5476_defconfig
linux/arch/mips/configs/ddb5476_defconfig
--- linux/arch/mips/configs/ddb5476_defconfig 2005/08/24 16:22:52 1.70
+++ linux/arch/mips/configs/ddb5476_defconfig 2005/08/29 16:15:20 1.71
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:45:45 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:09 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/ddb5477_defconfig
linux/arch/mips/configs/ddb5477_defconfig
--- linux/arch/mips/configs/ddb5477_defconfig 2005/08/24 16:22:52 1.70
+++ linux/arch/mips/configs/ddb5477_defconfig 2005/08/29 16:15:20 1.71
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:45:47 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:12 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/decstation_defconfig
linux/arch/mips/configs/decstation_defconfig
--- linux/arch/mips/configs/decstation_defconfig 2005/08/24 16:22:52
1.88
+++ linux/arch/mips/configs/decstation_defconfig 2005/08/29 16:15:20
1.89
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:45:50 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:16 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/e55_defconfig
linux/arch/mips/configs/e55_defconfig
--- linux/arch/mips/configs/e55_defconfig 2005/08/24 16:22:52 1.74
+++ linux/arch/mips/configs/e55_defconfig 2005/08/29 16:15:20 1.75
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:45:52 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:19 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/ev64120_defconfig
linux/arch/mips/configs/ev64120_defconfig
--- linux/arch/mips/configs/ev64120_defconfig 2005/08/24 16:22:52 1.69
+++ linux/arch/mips/configs/ev64120_defconfig 2005/08/29 16:15:20 1.70
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:45:55 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:22 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/ev96100_defconfig
linux/arch/mips/configs/ev96100_defconfig
--- linux/arch/mips/configs/ev96100_defconfig 2005/08/24 16:22:52 1.70
+++ linux/arch/mips/configs/ev96100_defconfig 2005/08/29 16:15:20 1.71
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:45:57 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:25 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/ip22_defconfig
linux/arch/mips/configs/ip22_defconfig
--- linux/arch/mips/configs/ip22_defconfig 2005/08/24 16:22:52 1.80
+++ linux/arch/mips/configs/ip22_defconfig 2005/08/29 16:15:20 1.81
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:00 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:28 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/ip27_defconfig
linux/arch/mips/configs/ip27_defconfig
--- linux/arch/mips/configs/ip27_defconfig 2005/08/24 16:22:52 1.85
+++ linux/arch/mips/configs/ip27_defconfig 2005/08/29 16:15:20 1.86
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:02 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:32 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/ip32_defconfig
linux/arch/mips/configs/ip32_defconfig
--- linux/arch/mips/configs/ip32_defconfig 2005/08/24 16:22:52 1.73
+++ linux/arch/mips/configs/ip32_defconfig 2005/08/29 16:15:20 1.74
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:05 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:35 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/it8172_defconfig
linux/arch/mips/configs/it8172_defconfig
--- linux/arch/mips/configs/it8172_defconfig 2005/08/24 16:22:52 1.69
+++ linux/arch/mips/configs/it8172_defconfig 2005/08/29 16:15:20 1.70
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:07 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:38 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/ivr_defconfig
linux/arch/mips/configs/ivr_defconfig
--- linux/arch/mips/configs/ivr_defconfig 2005/08/24 16:22:52 1.69
+++ linux/arch/mips/configs/ivr_defconfig 2005/08/29 16:15:20 1.70
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:10 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:41 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/jaguar-atx_defconfig
linux/arch/mips/configs/jaguar-atx_defconfig
--- linux/arch/mips/configs/jaguar-atx_defconfig 2005/08/24 16:22:52
1.74
+++ linux/arch/mips/configs/jaguar-atx_defconfig 2005/08/29 16:15:20
1.75
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:12 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:44 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/jmr3927_defconfig
linux/arch/mips/configs/jmr3927_defconfig
--- linux/arch/mips/configs/jmr3927_defconfig 2005/08/24 16:22:52 1.70
+++ linux/arch/mips/configs/jmr3927_defconfig 2005/08/29 16:15:20 1.71
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:15 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:47 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/lasat200_defconfig
linux/arch/mips/configs/lasat200_defconfig
--- linux/arch/mips/configs/lasat200_defconfig 2005/08/24 16:22:52 1.70
+++ linux/arch/mips/configs/lasat200_defconfig 2005/08/29 16:15:20 1.71
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:18 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:50 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/malta_defconfig
linux/arch/mips/configs/malta_defconfig
--- linux/arch/mips/configs/malta_defconfig 2005/08/24 16:22:52 1.75
+++ linux/arch/mips/configs/malta_defconfig 2005/08/29 16:15:20 1.76
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:21 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:54 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/mpc30x_defconfig
linux/arch/mips/configs/mpc30x_defconfig
--- linux/arch/mips/configs/mpc30x_defconfig 2005/08/24 16:22:52 1.75
+++ linux/arch/mips/configs/mpc30x_defconfig 2005/08/29 16:15:20 1.76
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:23 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:57 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/ocelot_3_defconfig
linux/arch/mips/configs/ocelot_3_defconfig
--- linux/arch/mips/configs/ocelot_3_defconfig 2005/08/24 16:22:52 1.42
+++ linux/arch/mips/configs/ocelot_3_defconfig 2005/08/29 16:15:20 1.43
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:26 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:31:59 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/ocelot_c_defconfig
linux/arch/mips/configs/ocelot_c_defconfig
--- linux/arch/mips/configs/ocelot_c_defconfig 2005/08/24 16:22:52 1.68
+++ linux/arch/mips/configs/ocelot_c_defconfig 2005/08/29 16:15:20 1.69
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:28 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:32:02 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/ocelot_defconfig
linux/arch/mips/configs/ocelot_defconfig
--- linux/arch/mips/configs/ocelot_defconfig 2005/08/24 16:22:52 1.70
+++ linux/arch/mips/configs/ocelot_defconfig 2005/08/29 16:15:20 1.71
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:30 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:32:05 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/ocelot_g_defconfig
linux/arch/mips/configs/ocelot_g_defconfig
--- linux/arch/mips/configs/ocelot_g_defconfig 2005/08/24 16:22:52 1.63
+++ linux/arch/mips/configs/ocelot_g_defconfig 2005/08/29 16:15:20 1.64
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:33 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:32:07 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/pb1100_defconfig
linux/arch/mips/configs/pb1100_defconfig
--- linux/arch/mips/configs/pb1100_defconfig 2005/08/24 16:22:52 1.72
+++ linux/arch/mips/configs/pb1100_defconfig 2005/08/29 16:15:20 1.73
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:35 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:32:10 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/pb1500_defconfig
linux/arch/mips/configs/pb1500_defconfig
--- linux/arch/mips/configs/pb1500_defconfig 2005/08/24 16:22:52 1.78
+++ linux/arch/mips/configs/pb1500_defconfig 2005/08/29 16:15:20 1.79
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:38 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:32:13 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/pb1550_defconfig
linux/arch/mips/configs/pb1550_defconfig
--- linux/arch/mips/configs/pb1550_defconfig 2005/08/24 16:22:52 1.68
+++ linux/arch/mips/configs/pb1550_defconfig 2005/08/29 16:15:20 1.69
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:46:40 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:32:16 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/qemu_defconfig
linux/arch/mips/configs/qemu_defconfig
--- linux/arch/mips/configs/qemu_defconfig 2005/08/24 16:22:52 1.15
+++ linux/arch/mips/configs/qemu_defconfig 2005/08/29 16:15:20 1.16
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:47:29 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:33:09 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/rbhma4500_defconfig
linux/arch/mips/configs/rbhma4500_defconfig
--- linux/arch/mips/configs/rbhma4500_defconfig 2005/08/24 16:22:52 1.9
+++ linux/arch/mips/configs/rbhma4500_defconfig 2005/08/29 16:15:20 1.10
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:47:32 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:33:13 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/rm200_defconfig
linux/arch/mips/configs/rm200_defconfig
--- linux/arch/mips/configs/rm200_defconfig 2005/08/24 16:22:52 1.80
+++ linux/arch/mips/configs/rm200_defconfig 2005/08/29 16:15:20 1.81
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:47:36 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:33:17 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/sb1250-swarm_defconfig
linux/arch/mips/configs/sb1250-swarm_defconfig
--- linux/arch/mips/configs/sb1250-swarm_defconfig 2005/08/24 16:22:52
1.76
+++ linux/arch/mips/configs/sb1250-swarm_defconfig 2005/08/29 16:15:20
1.77
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:47:39 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:33:21 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/sead_defconfig
linux/arch/mips/configs/sead_defconfig
--- linux/arch/mips/configs/sead_defconfig 2005/08/24 16:22:52 1.69
+++ linux/arch/mips/configs/sead_defconfig 2005/08/29 16:15:20 1.70
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:47:41 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:33:25 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/tb0226_defconfig
linux/arch/mips/configs/tb0226_defconfig
--- linux/arch/mips/configs/tb0226_defconfig 2005/08/24 16:22:52 1.72
+++ linux/arch/mips/configs/tb0226_defconfig 2005/08/29 16:15:20 1.73
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:47:44 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:33:29 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/tb0229_defconfig
linux/arch/mips/configs/tb0229_defconfig
--- linux/arch/mips/configs/tb0229_defconfig 2005/08/24 16:22:52 1.77
+++ linux/arch/mips/configs/tb0229_defconfig 2005/08/29 16:15:20 1.78
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:47:46 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:33:32 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/workpad_defconfig
linux/arch/mips/configs/workpad_defconfig
--- linux/arch/mips/configs/workpad_defconfig 2005/08/24 16:22:52 1.74
+++ linux/arch/mips/configs/workpad_defconfig 2005/08/29 16:15:20 1.75
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:47:49 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:33:36 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/mips/configs/yosemite_defconfig
linux/arch/mips/configs/yosemite_defconfig
--- linux/arch/mips/configs/yosemite_defconfig 2005/08/24 16:22:52 1.73
+++ linux/arch/mips/configs/yosemite_defconfig 2005/08/29 16:15:20 1.74
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc7
-# Wed Aug 24 15:47:51 2005
+# Linux kernel version: 2.6.13
+# Mon Aug 29 16:33:40 2005
#
CONFIG_MIPS=y
diff -urN linux/arch/ppc/syslib/m8xx_setup.c linux/arch/ppc/syslib/m8xx_setup.c
--- linux/arch/ppc/syslib/m8xx_setup.c 2005/08/08 12:30:30 1.8
+++ linux/arch/ppc/syslib/m8xx_setup.c 2005/08/29 16:15:22 1.9
@@ -423,7 +423,7 @@
ppc_md.find_end_of_memory = m8xx_find_end_of_memory;
ppc_md.setup_io_mappings = m8xx_map_io;
-#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
+#if defined(CONFIG_BLK_DEV_MPC8xx_IDE)
m8xx_ide_init();
#endif
}
diff -urN linux/arch/ppc64/kernel/setup.c linux/arch/ppc64/kernel/setup.c
--- linux/arch/ppc64/kernel/setup.c 2005/08/01 18:23:54 1.42
+++ linux/arch/ppc64/kernel/setup.c 2005/08/29 16:15:22 1.43
@@ -706,6 +706,8 @@
local_irq_disable();
while (1) ;
}
+/* Used by the G5 thermal driver */
+EXPORT_SYMBOL_GPL(machine_power_off);
void machine_halt(void)
{
diff -urN linux/arch/sparc64/kernel/pci.c linux/arch/sparc64/kernel/pci.c
--- linux/arch/sparc64/kernel/pci.c 2005/08/24 16:22:56 1.42
+++ linux/arch/sparc64/kernel/pci.c 2005/08/29 16:15:22 1.43
@@ -540,6 +540,7 @@
pbm->parent->resource_adjust(pdev, res, root);
}
+EXPORT_SYMBOL(pcibios_bus_to_resource);
char * __init pcibios_setup(char *str)
{
diff -urN linux/arch/um/drivers/mmapper_kern.c
linux/arch/um/drivers/mmapper_kern.c
--- linux/arch/um/drivers/mmapper_kern.c 2005/06/18 14:42:43 1.9
+++ linux/arch/um/drivers/mmapper_kern.c 2005/08/29 16:15:22 1.10
@@ -9,19 +9,11 @@
*
*/
-#include <linux/types.h>
-#include <linux/kdev_t.h>
-#include <linux/time.h>
-#include <linux/devfs_fs_kernel.h>
+#include <linux/init.h>
#include <linux/module.h>
#include <linux/mm.h>
-#include <linux/slab.h>
-#include <linux/init.h>
-#include <linux/smp_lock.h>
#include <linux/miscdevice.h>
#include <asm/uaccess.h>
-#include <asm/irq.h>
-#include <asm/pgtable.h>
#include "mem_user.h"
#include "user_util.h"
@@ -31,35 +23,22 @@
static char *v_buf = NULL;
static ssize_t
-mmapper_read(struct file *file, char *buf, size_t count, loff_t *ppos)
+mmapper_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
{
- if(*ppos > mmapper_size)
- return -EINVAL;
-
- if(count + *ppos > mmapper_size)
- count = count + *ppos - mmapper_size;
-
- if(count < 0)
- return -EINVAL;
-
- copy_to_user(buf,&v_buf[*ppos],count);
-
- return count;
+ return simple_read_from_buffer(buf, count, ppos, v_buf, mmapper_size);
}
static ssize_t
-mmapper_write(struct file *file, const char *buf, size_t count, loff_t *ppos)
+mmapper_write(struct file *file, const char __user *buf, size_t count, loff_t
*ppos)
{
- if(*ppos > mmapper_size)
+ if (*ppos > mmapper_size)
return -EINVAL;
- if(count + *ppos > mmapper_size)
- count = count + *ppos - mmapper_size;
-
- if(count < 0)
- return -EINVAL;
+ if (count > mmapper_size - *ppos)
+ count = mmapper_size - *ppos;
- copy_from_user(&v_buf[*ppos],buf,count);
+ if (copy_from_user(&v_buf[*ppos], buf, count))
+ return -EFAULT;
return count;
}
@@ -77,7 +56,6 @@
int ret = -EINVAL;
int size;
- lock_kernel();
if (vma->vm_pgoff != 0)
goto out;
@@ -92,7 +70,6 @@
goto out;
ret = 0;
out:
- unlock_kernel();
return ret;
}
diff -urN linux/arch/x86_64/defconfig linux/arch/x86_64/defconfig
--- linux/arch/x86_64/defconfig 2005/08/03 15:50:31 1.41
+++ linux/arch/x86_64/defconfig 2005/08/29 16:15:22 1.42
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.13-rc3
-# Fri Jul 22 16:47:31 2005
+# Linux kernel version: 2.6.13-rc6-git3
+# Fri Aug 12 16:40:34 2005
#
CONFIG_X86_64=y
CONFIG_64BIT=y
@@ -284,10 +284,6 @@
# Network testing
#
# CONFIG_NET_PKTGEN is not set
-CONFIG_NETPOLL=y
-# CONFIG_NETPOLL_RX is not set
-# CONFIG_NETPOLL_TRAP is not set
-CONFIG_NET_POLL_CONTROLLER=y
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
@@ -463,6 +459,7 @@
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
CONFIG_SCSI_SATA=y
+# CONFIG_SCSI_SATA_AHCI is not set
# CONFIG_SCSI_SATA_SVW is not set
CONFIG_SCSI_ATA_PIIX=y
# CONFIG_SCSI_SATA_NV is not set
@@ -492,6 +489,7 @@
# CONFIG_SCSI_QLA2300 is not set
# CONFIG_SCSI_QLA2322 is not set
# CONFIG_SCSI_QLA6312 is not set
+# CONFIG_SCSI_QLA24XX is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_DC390T is not set
@@ -512,9 +510,11 @@
#
# Fusion MPT device support
#
-# CONFIG_FUSION is not set
-# CONFIG_FUSION_SPI is not set
+CONFIG_FUSION=y
+CONFIG_FUSION_SPI=y
# CONFIG_FUSION_FC is not set
+CONFIG_FUSION_MAX_SGE=128
+# CONFIG_FUSION_CTL is not set
#
# IEEE 1394 (FireWire) support
@@ -585,6 +585,7 @@
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
CONFIG_E1000=y
+# CONFIG_E1000_NAPI is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
@@ -624,6 +625,10 @@
# CONFIG_NET_FC is not set
# CONFIG_SHAPER is not set
CONFIG_NETCONSOLE=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
#
# ISDN subsystem
diff -urN linux/arch/x86_64/kernel/e820.c linux/arch/x86_64/kernel/e820.c
--- linux/arch/x86_64/kernel/e820.c 2005/07/11 20:46:45 1.11
+++ linux/arch/x86_64/kernel/e820.c 2005/08/29 16:15:22 1.12
@@ -185,6 +185,40 @@
}
/*
+ * Compute how much memory is missing in a range.
+ * Unlike the other functions in this file the arguments are in page numbers.
+ */
+unsigned long __init
+e820_hole_size(unsigned long start_pfn, unsigned long end_pfn)
+{
+ unsigned long ram = 0;
+ unsigned long start = start_pfn << PAGE_SHIFT;
+ unsigned long end = end_pfn << PAGE_SHIFT;
+ int i;
+ for (i = 0; i < e820.nr_map; i++) {
+ struct e820entry *ei = &e820.map[i];
+ unsigned long last, addr;
+
+ if (ei->type != E820_RAM ||
+ ei->addr+ei->size <= start ||
+ ei->addr >= end)
+ continue;
+
+ addr = round_up(ei->addr, PAGE_SIZE);
+ if (addr < start)
+ addr = start;
+
+ last = round_down(ei->addr + ei->size, PAGE_SIZE);
+ if (last >= end)
+ last = end;
+
+ if (last > addr)
+ ram += last - addr;
+ }
+ return ((end - start) - ram) >> PAGE_SHIFT;
+}
+
+/*
* Mark e820 reserved areas as busy for the resource manager.
*/
void __init e820_reserve_resources(void)
diff -urN linux/arch/x86_64/mm/init.c linux/arch/x86_64/mm/init.c
--- linux/arch/x86_64/mm/init.c 2005/07/11 20:46:47 1.33
+++ linux/arch/x86_64/mm/init.c 2005/08/29 16:15:23 1.34
@@ -322,18 +322,26 @@
void __init paging_init(void)
{
{
- unsigned long zones_size[MAX_NR_ZONES] = {0, 0, 0};
+ unsigned long zones_size[MAX_NR_ZONES];
+ unsigned long holes[MAX_NR_ZONES];
unsigned int max_dma;
+ memset(zones_size, 0, sizeof(zones_size));
+ memset(holes, 0, sizeof(holes));
+
max_dma = virt_to_phys((char *)MAX_DMA_ADDRESS) >> PAGE_SHIFT;
- if (end_pfn < max_dma)
+ if (end_pfn < max_dma) {
zones_size[ZONE_DMA] = end_pfn;
- else {
+ holes[ZONE_DMA] = e820_hole_size(0, end_pfn);
+ } else {
zones_size[ZONE_DMA] = max_dma;
+ holes[ZONE_DMA] = e820_hole_size(0, max_dma);
zones_size[ZONE_NORMAL] = end_pfn - max_dma;
+ holes[ZONE_NORMAL] = e820_hole_size(max_dma, end_pfn);
}
- free_area_init(zones_size);
+ free_area_init_node(0, NODE_DATA(0), zones_size,
+ __pa(PAGE_OFFSET) >> PAGE_SHIFT, holes);
}
return;
}
diff -urN linux/arch/x86_64/mm/numa.c linux/arch/x86_64/mm/numa.c
--- linux/arch/x86_64/mm/numa.c 2005/08/03 15:50:32 1.19
+++ linux/arch/x86_64/mm/numa.c 2005/08/29 16:15:23 1.20
@@ -126,9 +126,11 @@
{
unsigned long start_pfn, end_pfn;
unsigned long zones[MAX_NR_ZONES];
+ unsigned long holes[MAX_NR_ZONES];
unsigned long dma_end_pfn;
memset(zones, 0, sizeof(unsigned long) * MAX_NR_ZONES);
+ memset(holes, 0, sizeof(unsigned long) * MAX_NR_ZONES);
start_pfn = node_start_pfn(nodeid);
end_pfn = node_end_pfn(nodeid);
@@ -139,13 +141,17 @@
dma_end_pfn = __pa(MAX_DMA_ADDRESS) >> PAGE_SHIFT;
if (start_pfn < dma_end_pfn) {
zones[ZONE_DMA] = dma_end_pfn - start_pfn;
+ holes[ZONE_DMA] = e820_hole_size(start_pfn, dma_end_pfn);
zones[ZONE_NORMAL] = end_pfn - dma_end_pfn;
+ holes[ZONE_NORMAL] = e820_hole_size(dma_end_pfn, end_pfn);
+
} else {
zones[ZONE_NORMAL] = end_pfn - start_pfn;
+ holes[ZONE_NORMAL] = e820_hole_size(start_pfn, end_pfn);
}
free_area_init_node(nodeid, NODE_DATA(nodeid), zones,
- start_pfn, NULL);
+ start_pfn, holes);
}
void __init numa_init_array(void)
diff -urN linux/drivers/acpi/sleep/poweroff.c
linux/drivers/acpi/sleep/poweroff.c
--- linux/drivers/acpi/sleep/poweroff.c 2005/08/01 18:24:01 1.5
+++ linux/drivers/acpi/sleep/poweroff.c 2005/08/29 16:15:23 1.6
@@ -55,7 +55,11 @@
static int acpi_shutdown(struct sys_device *x)
{
- return acpi_sleep_prepare(ACPI_STATE_S5);
+ if (system_state == SYSTEM_POWER_OFF) {
+ /* Prepare if we are going to power off the system */
+ return acpi_sleep_prepare(ACPI_STATE_S5);
+ }
+ return 0;
}
static struct sysdev_class acpi_sysclass = {
diff -urN linux/drivers/block/cfq-iosched.c linux/drivers/block/cfq-iosched.c
--- linux/drivers/block/cfq-iosched.c 2005/08/08 12:30:32 1.15
+++ linux/drivers/block/cfq-iosched.c 2005/08/29 16:15:23 1.16
@@ -47,7 +47,7 @@
/*
* disable queueing at the driver/hardware level
*/
-static int cfq_max_depth = 1;
+static int cfq_max_depth = 2;
/*
* for the hash of cfqq inside the cfqd
@@ -385,9 +385,15 @@
return crq2;
if (crq2 == NULL)
return crq1;
- if (cfq_crq_requeued(crq1))
+
+ if (cfq_crq_requeued(crq1) && !cfq_crq_requeued(crq2))
return crq1;
- if (cfq_crq_requeued(crq2))
+ else if (cfq_crq_requeued(crq2) && !cfq_crq_requeued(crq1))
+ return crq2;
+
+ if (cfq_crq_is_sync(crq1) && !cfq_crq_is_sync(crq2))
+ return crq1;
+ else if (cfq_crq_is_sync(crq2) && !cfq_crq_is_sync(crq1))
return crq2;
s1 = crq1->request->sector;
@@ -1769,18 +1775,23 @@
cfq_crq_enqueued(struct cfq_data *cfqd, struct cfq_queue *cfqq,
struct cfq_rq *crq)
{
- const int sync = cfq_crq_is_sync(crq);
+ struct cfq_io_context *cic;
cfqq->next_crq = cfq_choose_req(cfqd, cfqq->next_crq, crq);
- if (sync) {
- struct cfq_io_context *cic = crq->io_context;
+ /*
+ * we never wait for an async request and we don't allow preemption
+ * of an async request. so just return early
+ */
+ if (!cfq_crq_is_sync(crq))
+ return;
- cfq_update_io_thinktime(cfqd, cic);
- cfq_update_idle_window(cfqd, cfqq, cic);
+ cic = crq->io_context;
- cic->last_queue = jiffies;
- }
+ cfq_update_io_thinktime(cfqd, cic);
+ cfq_update_idle_window(cfqd, cfqq, cic);
+
+ cic->last_queue = jiffies;
if (cfqq == cfqd->active_queue) {
/*
diff -urN linux/drivers/char/vt.c linux/drivers/char/vt.c
--- linux/drivers/char/vt.c 2005/08/01 18:24:03 1.75
+++ linux/drivers/char/vt.c 2005/08/29 16:15:23 1.76
@@ -2433,7 +2433,7 @@
int ret = 0;
acquire_console_sem();
- if (tty->count == 1) {
+ if (tty->driver_data == NULL) {
ret = vc_allocate(currcons);
if (ret == 0) {
struct vc_data *vc = vc_cons[currcons].d;
diff -urN linux/drivers/hwmon/adm1026.c linux/drivers/hwmon/adm1026.c
--- linux/drivers/hwmon/adm1026.c 2005/08/03 15:50:34 1.2
+++ linux/drivers/hwmon/adm1026.c 2005/08/29 16:15:23 1.3
@@ -325,7 +325,7 @@
int adm1026_detach_client(struct i2c_client *client)
{
i2c_detach_client(client);
- kfree(client);
+ kfree(i2c_get_clientdata(client));
return 0;
}
@@ -1691,7 +1691,7 @@
/* Error out and cleanup code */
exitfree:
- kfree(new_client);
+ kfree(data);
exit:
return err;
}
diff -urN linux/drivers/hwmon/adm1031.c linux/drivers/hwmon/adm1031.c
--- linux/drivers/hwmon/adm1031.c 2005/07/13 11:49:29 1.1
+++ linux/drivers/hwmon/adm1031.c 2005/08/29 16:15:23 1.2
@@ -834,7 +834,7 @@
return 0;
exit_free:
- kfree(new_client);
+ kfree(data);
exit:
return err;
}
@@ -845,7 +845,7 @@
if ((ret = i2c_detach_client(client)) != 0) {
return ret;
}
- kfree(client);
+ kfree(i2c_get_clientdata(client));
return 0;
}
diff -urN linux/drivers/hwmon/adm9240.c linux/drivers/hwmon/adm9240.c
--- linux/drivers/hwmon/adm9240.c 2005/07/13 11:49:29 1.1
+++ linux/drivers/hwmon/adm9240.c 2005/08/29 16:15:23 1.2
@@ -616,7 +616,7 @@
return 0;
exit_free:
- kfree(new_client);
+ kfree(data);
exit:
return err;
}
diff -urN linux/drivers/hwmon/fscpos.c linux/drivers/hwmon/fscpos.c
--- linux/drivers/hwmon/fscpos.c 2005/08/03 15:50:34 1.2
+++ linux/drivers/hwmon/fscpos.c 2005/08/29 16:15:23 1.3
@@ -167,7 +167,7 @@
"experience to the module author.\n");
/* Supported value: 2 (clears the status) */
- fscpos_write_value(client, FSCPOS_REG_TEMP_STATE[nr], 2);
+ fscpos_write_value(client, FSCPOS_REG_TEMP_STATE[nr - 1], 2);
return count;
}
diff -urN linux/drivers/hwmon/smsc47b397.c linux/drivers/hwmon/smsc47b397.c
--- linux/drivers/hwmon/smsc47b397.c 2005/07/13 11:49:29 1.1
+++ linux/drivers/hwmon/smsc47b397.c 2005/08/29 16:15:23 1.2
@@ -298,7 +298,7 @@
return 0;
error_free:
- kfree(new_client);
+ kfree(data);
error_release:
release_region(addr, SMSC_EXTENT);
return err;
diff -urN linux/drivers/hwmon/smsc47m1.c linux/drivers/hwmon/smsc47m1.c
--- linux/drivers/hwmon/smsc47m1.c 2005/07/13 11:49:29 1.1
+++ linux/drivers/hwmon/smsc47m1.c 2005/08/29 16:15:23 1.2
@@ -495,7 +495,7 @@
return 0;
error_free:
- kfree(new_client);
+ kfree(data);
error_release:
release_region(address, SMSC_EXTENT);
return err;
diff -urN linux/drivers/ieee1394/ohci1394.c linux/drivers/ieee1394/ohci1394.c
--- linux/drivers/ieee1394/ohci1394.c 2005/08/01 18:24:15 1.50
+++ linux/drivers/ieee1394/ohci1394.c 2005/08/29 16:15:24 1.51
@@ -478,7 +478,6 @@
int num_ports, i;
spin_lock_init(&ohci->phy_reg_lock);
- spin_lock_init(&ohci->event_lock);
/* Put some defaults to these undefined bus options */
buf = reg_read(ohci, OHCI1394_BusOptions);
@@ -3402,7 +3401,14 @@
/* We hopefully don't have to pre-allocate IT DMA like we did
* for IR DMA above. Allocate it on-demand and mark inactive. */
ohci->it_legacy_context.ohci = NULL;
+ spin_lock_init(&ohci->event_lock);
+ /*
+ * interrupts are disabled, all right, but... due to SA_SHIRQ we
+ * might get called anyway. We'll see no event, of course, but
+ * we need to get to that "no event", so enough should be initialized
+ * by that point.
+ */
if (request_irq(dev->irq, ohci_irq_handler, SA_SHIRQ,
OHCI1394_DRIVER_NAME, ohci))
FAIL(-ENOMEM, "Failed to allocate shared interrupt %d",
dev->irq);
diff -urN linux/drivers/infiniband/core/uverbs_main.c
linux/drivers/infiniband/core/uverbs_main.c
--- linux/drivers/infiniband/core/uverbs_main.c 2005/08/01 18:24:15 1.2
+++ linux/drivers/infiniband/core/uverbs_main.c 2005/08/29 16:15:24 1.3
@@ -130,13 +130,14 @@
list_for_each_entry_safe(uobj, tmp, &context->mr_list, list) {
struct ib_mr *mr = idr_find(&ib_uverbs_mr_idr, uobj->id);
+ struct ib_device *mrdev = mr->device;
struct ib_umem_object *memobj;
idr_remove(&ib_uverbs_mr_idr, uobj->id);
ib_dereg_mr(mr);
memobj = container_of(uobj, struct ib_umem_object, uobject);
- ib_umem_release_on_close(mr->device, &memobj->umem);
+ ib_umem_release_on_close(mrdev, &memobj->umem);
list_del(&uobj->list);
kfree(memobj);
diff -urN linux/drivers/isdn/capi/capifs.c linux/drivers/isdn/capi/capifs.c
--- linux/drivers/isdn/capi/capifs.c 2005/01/13 14:06:04 1.10
+++ linux/drivers/isdn/capi/capifs.c 2005/08/29 16:15:24 1.11
@@ -191,8 +191,10 @@
err = register_filesystem(&capifs_fs_type);
if (!err) {
capifs_mnt = kern_mount(&capifs_fs_type);
- if (IS_ERR(capifs_mnt))
+ if (IS_ERR(capifs_mnt)) {
err = PTR_ERR(capifs_mnt);
+ unregister_filesystem(&capifs_fs_type);
+ }
}
if (!err)
printk(KERN_NOTICE "capifs: Rev %s\n", rev);
diff -urN linux/drivers/md/md.c linux/drivers/md/md.c
--- linux/drivers/md/md.c 2005/08/24 16:23:03 1.87
+++ linux/drivers/md/md.c 2005/08/29 16:15:24 1.88
@@ -1689,6 +1689,7 @@
mddev->pers = pers[pnum];
spin_unlock(&pers_lock);
+ mddev->recovery = 0;
mddev->resync_max_sectors = mddev->size << 1; /* may be over-ridden by
personality */
/* before we start the array running, initialise the bitmap */
@@ -4011,3 +4012,4 @@
EXPORT_SYMBOL(md_check_recovery);
MODULE_LICENSE("GPL");
MODULE_ALIAS("md");
+MODULE_ALIAS_BLOCKDEV_MAJOR(MD_MAJOR);
diff -urN linux/drivers/media/dvb/dvb-usb/dibusb-common.c
linux/drivers/media/dvb/dvb-usb/dibusb-common.c
--- linux/drivers/media/dvb/dvb-usb/dibusb-common.c 2005/07/11 20:47:18
1.1
+++ linux/drivers/media/dvb/dvb-usb/dibusb-common.c 2005/08/29 16:15:24
1.2
@@ -70,13 +70,22 @@
int dibusb2_0_streaming_ctrl(struct dvb_usb_device *d, int onoff)
{
- u8 b[2];
- b[0] = DIBUSB_REQ_SET_IOCTL;
- b[1] = onoff ? DIBUSB_IOCTL_CMD_ENABLE_STREAM :
DIBUSB_IOCTL_CMD_DISABLE_STREAM;
+ u8 b[3] = { 0 };
+ int ret;
- dvb_usb_generic_write(d,b,3);
+ if ((ret = dibusb_streaming_ctrl(d,onoff)) < 0)
+ return ret;
- return dibusb_streaming_ctrl(d,onoff);
+ if (onoff) {
+ b[0] = DIBUSB_REQ_SET_STREAMING_MODE;
+ b[1] = 0x00;
+ if ((ret = dvb_usb_generic_write(d,b,2)) < 0)
+ return ret;
+ }
+
+ b[0] = DIBUSB_REQ_SET_IOCTL;
+ b[1] = onoff ? DIBUSB_IOCTL_CMD_ENABLE_STREAM :
DIBUSB_IOCTL_CMD_DISABLE_STREAM;
+ return dvb_usb_generic_write(d,b,3);
}
EXPORT_SYMBOL(dibusb2_0_streaming_ctrl);
diff -urN linux/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c
linux/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c
--- linux/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c 2005/07/13 11:49:38
1.2
+++ linux/drivers/media/dvb/dvb-usb/dvb-usb-dvb.c 2005/08/29 16:15:24
1.3
@@ -23,12 +23,12 @@
*/
if (newfeedcount == 0) {
deb_ts("stop feeding\n");
+ dvb_usb_urb_kill(d);
if (d->props.streaming_ctrl != NULL)
if ((ret = d->props.streaming_ctrl(d,0)))
err("error while stopping stream.");
- dvb_usb_urb_kill(d);
}
d->feedcount = newfeedcount;
@@ -44,6 +44,8 @@
* for reception.
*/
if (d->feedcount == onoff && d->feedcount > 0) {
+ deb_ts("submitting all URBs\n");
+ dvb_usb_urb_submit(d);
deb_ts("controlling pid parser\n");
if (d->props.caps & DVB_USB_HAS_PID_FILTER &&
@@ -59,7 +61,6 @@
return -ENODEV;
}
- dvb_usb_urb_submit(d);
}
return 0;
}
diff -urN linux/drivers/net/tg3.c linux/drivers/net/tg3.c
--- linux/drivers/net/tg3.c 2005/08/24 16:23:05 1.66
+++ linux/drivers/net/tg3.c 2005/08/29 16:15:25 1.67
@@ -66,8 +66,8 @@
#define DRV_MODULE_NAME "tg3"
#define PFX DRV_MODULE_NAME ": "
-#define DRV_MODULE_VERSION "3.36"
-#define DRV_MODULE_RELDATE "August 19, 2005"
+#define DRV_MODULE_VERSION "3.37"
+#define DRV_MODULE_RELDATE "August 25, 2005"
#define TG3_DEF_MAC_MODE 0
#define TG3_DEF_RX_MODE 0
@@ -7865,8 +7865,6 @@
err = -EIO;
- tg3_abort_hw(tp, 1);
-
tg3_reset_hw(tp);
mac_mode = (tp->mac_mode & ~MAC_MODE_PORT_MODE_MASK) |
diff -urN linux/drivers/net/hamradio/6pack.c linux/drivers/net/hamradio/6pack.c
--- linux/drivers/net/hamradio/6pack.c 2005/08/24 16:23:06 1.30
+++ linux/drivers/net/hamradio/6pack.c 2005/08/29 16:15:25 1.31
@@ -308,12 +308,6 @@
{
struct sockaddr_ax25 *sa = addr;
- if (sa->sax25_family != AF_AX25)
- return -EINVAL;
-
- if (!sa->sax25_ndigis)
- return -EINVAL;
-
spin_lock_irq(&dev->xmit_lock);
memcpy(dev->dev_addr, &sa->sax25_call, AX25_ADDR_LEN);
spin_unlock_irq(&dev->xmit_lock);
@@ -668,6 +662,9 @@
netif_start_queue(dev);
init_timer(&sp->tx_t);
+ sp->tx_t.function = sp_xmit_on_air;
+ sp->tx_t.data = (unsigned long) sp;
+
init_timer(&sp->resync_t);
spin_unlock_bh(&sp->lock);
diff -urN linux/drivers/net/ibm_emac/ibm_emac_core.c
linux/drivers/net/ibm_emac/ibm_emac_core.c
--- linux/drivers/net/ibm_emac/ibm_emac_core.c 2005/08/24 16:23:06 1.10
+++ linux/drivers/net/ibm_emac/ibm_emac_core.c 2005/08/29 16:15:25 1.11
@@ -1253,7 +1253,7 @@
TAH_MR_CVR | TAH_MR_ST_768 | TAH_MR_TFS_10KB | TAH_MR_DTFP |
TAH_MR_DIG);
- iounmap(&tahp);
+ iounmap(tahp);
return 0;
}
diff -urN linux/drivers/pci/setup-bus.c linux/drivers/pci/setup-bus.c
--- linux/drivers/pci/setup-bus.c 2005/08/03 15:50:38 1.25
+++ linux/drivers/pci/setup-bus.c 2005/08/29 16:15:25 1.26
@@ -40,7 +40,7 @@
* FIXME: IO should be max 256 bytes. However, since we may
* have a P2P bridge below a cardbus bridge, we need 4K.
*/
-#define CARDBUS_IO_SIZE (4096)
+#define CARDBUS_IO_SIZE (256)
#define CARDBUS_MEM_SIZE (32*1024*1024)
static void __devinit
diff -urN linux/drivers/pci/setup-res.c linux/drivers/pci/setup-res.c
--- linux/drivers/pci/setup-res.c 2005/08/24 16:23:07 1.31
+++ linux/drivers/pci/setup-res.c 2005/08/29 16:15:25 1.32
@@ -53,7 +53,9 @@
if (resno < 6) {
reg = PCI_BASE_ADDRESS_0 + 4 * resno;
} else if (resno == PCI_ROM_RESOURCE) {
- new |= res->flags & IORESOURCE_ROM_ENABLE;
+ if (!(res->flags & IORESOURCE_ROM_ENABLE))
+ return;
+ new |= PCI_ROM_ADDRESS_ENABLE;
reg = dev->rom_base_reg;
} else {
/* Hmm, non-standard resource. */
diff -urN linux/drivers/s390/cio/qdio.c linux/drivers/s390/cio/qdio.c
--- linux/drivers/s390/cio/qdio.c 2005/08/24 16:23:08 1.25
+++ linux/drivers/s390/cio/qdio.c 2005/08/29 16:15:25 1.26
@@ -112,7 +112,7 @@
/***************** SCRUBBER HELPER ROUTINES **********************/
-static inline volatile __u64
+static inline __u64
qdio_get_micros(void)
{
return (get_clock() >> 10); /* time>>12 is microseconds */
diff -urN linux/drivers/s390/scsi/zfcp_aux.c linux/drivers/s390/scsi/zfcp_aux.c
--- linux/drivers/s390/scsi/zfcp_aux.c 2005/07/11 20:47:51 1.15
+++ linux/drivers/s390/scsi/zfcp_aux.c 2005/08/29 16:15:26 1.16
@@ -1299,13 +1299,10 @@
zfcp_port_enqueue(struct zfcp_adapter *adapter, wwn_t wwpn, u32 status,
u32 d_id)
{
- struct zfcp_port *port, *tmp_port;
+ struct zfcp_port *port;
int check_wwpn;
- scsi_id_t scsi_id;
- int found;
check_wwpn = !(status & ZFCP_STATUS_PORT_NO_WWPN);
-
/*
* check that there is no port with this WWPN already in list
*/
@@ -1368,7 +1365,7 @@
} else {
snprintf(port->sysfs_device.bus_id,
BUS_ID_SIZE, "0x%016llx", wwpn);
- port->sysfs_device.parent = &adapter->ccw_device->dev;
+ port->sysfs_device.parent = &adapter->ccw_device->dev;
}
port->sysfs_device.release = zfcp_sysfs_port_release;
dev_set_drvdata(&port->sysfs_device, port);
@@ -1388,24 +1385,8 @@
zfcp_port_get(port);
- scsi_id = 1;
- found = 0;
write_lock_irq(&zfcp_data.config_lock);
- list_for_each_entry(tmp_port, &adapter->port_list_head, list) {
- if (atomic_test_mask(ZFCP_STATUS_PORT_NO_SCSI_ID,
- &tmp_port->status))
- continue;
- if (tmp_port->scsi_id != scsi_id) {
- found = 1;
- break;
- }
- scsi_id++;
- }
- port->scsi_id = scsi_id;
- if (found)
- list_add_tail(&port->list, &tmp_port->list);
- else
- list_add_tail(&port->list, &adapter->port_list_head);
+ list_add_tail(&port->list, &adapter->port_list_head);
atomic_clear_mask(ZFCP_STATUS_COMMON_REMOVE, &port->status);
atomic_set_mask(ZFCP_STATUS_COMMON_RUNNING, &port->status);
if (d_id == ZFCP_DID_DIRECTORY_SERVICE)
@@ -1427,6 +1408,9 @@
list_del(&port->list);
port->adapter->ports--;
write_unlock_irq(&zfcp_data.config_lock);
+ if (port->rport)
+ fc_remote_port_delete(port->rport);
+ port->rport = NULL;
zfcp_adapter_put(port->adapter);
zfcp_sysfs_port_remove_files(&port->sysfs_device,
atomic_read(&port->status));
diff -urN linux/drivers/s390/scsi/zfcp_ccw.c linux/drivers/s390/scsi/zfcp_ccw.c
--- linux/drivers/s390/scsi/zfcp_ccw.c 2004/12/04 18:16:06 1.8
+++ linux/drivers/s390/scsi/zfcp_ccw.c 2005/08/29 16:15:26 1.9
@@ -202,9 +202,19 @@
zfcp_ccw_set_offline(struct ccw_device *ccw_device)
{
struct zfcp_adapter *adapter;
+ struct zfcp_port *port;
+ struct fc_rport *rport;
down(&zfcp_data.config_sema);
adapter = dev_get_drvdata(&ccw_device->dev);
+ /* might be racy, but we cannot take config_lock due to the fact that
+ fc_remote_port_delete might sleep */
+ list_for_each_entry(port, &adapter->port_list_head, list)
+ if (port->rport) {
+ rport = port->rport;
+ port->rport = NULL;
+ fc_remote_port_delete(rport);
+ }
zfcp_erp_adapter_shutdown(adapter, 0);
zfcp_erp_wait(adapter);
zfcp_adapter_scsi_unregister(adapter);
diff -urN linux/drivers/s390/scsi/zfcp_def.h linux/drivers/s390/scsi/zfcp_def.h
--- linux/drivers/s390/scsi/zfcp_def.h 2005/07/11 20:47:51 1.17
+++ linux/drivers/s390/scsi/zfcp_def.h 2005/08/29 16:15:26 1.18
@@ -906,6 +906,7 @@
*/
struct zfcp_port {
struct device sysfs_device; /* sysfs device */
+ struct fc_rport *rport; /* rport of fc transport class */
struct list_head list; /* list of remote ports */
atomic_t refcount; /* reference count */
wait_queue_head_t remove_wq; /* can be used to wait for
@@ -916,7 +917,6 @@
list */
u32 units; /* # of logical units in list */
atomic_t status; /* status of this remote port */
- scsi_id_t scsi_id; /* own SCSI ID */
wwn_t wwnn; /* WWNN if known */
wwn_t wwpn; /* WWPN */
fc_id_t d_id; /* D_ID */
diff -urN linux/drivers/s390/scsi/zfcp_erp.c linux/drivers/s390/scsi/zfcp_erp.c
--- linux/drivers/s390/scsi/zfcp_erp.c 2005/07/11 20:47:51 1.17
+++ linux/drivers/s390/scsi/zfcp_erp.c 2005/08/29 16:15:26 1.18
@@ -3360,13 +3360,32 @@
if ((result == ZFCP_ERP_SUCCEEDED)
&& (!atomic_test_mask(ZFCP_STATUS_UNIT_TEMPORARY,
&unit->status))
- && (!unit->device))
- scsi_add_device(unit->port->adapter->scsi_host, 0,
- unit->port->scsi_id, unit->scsi_lun);
+ && !unit->device
+ && port->rport)
+ scsi_add_device(port->adapter->scsi_host, 0,
+ port->rport->scsi_target_id,
+ unit->scsi_lun);
zfcp_unit_put(unit);
break;
case ZFCP_ERP_ACTION_REOPEN_PORT_FORCED:
case ZFCP_ERP_ACTION_REOPEN_PORT:
+ if ((result == ZFCP_ERP_SUCCEEDED)
+ && !atomic_test_mask(ZFCP_STATUS_PORT_NO_WWPN,
+ &port->status)
+ && !port->rport) {
+ struct fc_rport_identifiers ids;
+ ids.node_name = port->wwnn;
+ ids.port_name = port->wwpn;
+ ids.port_id = port->d_id;
+ ids.roles = FC_RPORT_ROLE_FCP_TARGET;
+ port->rport =
+ fc_remote_port_add(adapter->scsi_host, 0, &ids);
+ if (!port->rport)
+ ZFCP_LOG_NORMAL("failed registration of rport"
+ "(adapter %s, wwpn=0x%016Lx)\n",
+ zfcp_get_busid_by_port(port),
+ port->wwpn);
+ }
zfcp_port_put(port);
break;
case ZFCP_ERP_ACTION_REOPEN_ADAPTER:
diff -urN linux/drivers/s390/scsi/zfcp_ext.h linux/drivers/s390/scsi/zfcp_ext.h
--- linux/drivers/s390/scsi/zfcp_ext.h 2005/07/11 20:47:51 1.11
+++ linux/drivers/s390/scsi/zfcp_ext.h 2005/08/29 16:15:26 1.12
@@ -143,6 +143,8 @@
struct scsi_cmnd *, struct timer_list *);
extern int zfcp_scsi_command_sync(struct zfcp_unit *, struct scsi_cmnd *,
struct timer_list *);
+extern void zfcp_set_fc_host_attrs(struct zfcp_adapter *);
+extern void zfcp_set_fc_rport_attrs(struct zfcp_port *);
extern struct scsi_transport_template *zfcp_transport_template;
extern struct fc_function_template zfcp_transport_functions;
diff -urN linux/drivers/s390/scsi/zfcp_fsf.c linux/drivers/s390/scsi/zfcp_fsf.c
--- linux/drivers/s390/scsi/zfcp_fsf.c 2005/07/11 20:47:51 1.16
+++ linux/drivers/s390/scsi/zfcp_fsf.c 2005/08/29 16:15:26 1.17
@@ -2062,6 +2062,7 @@
zfcp_erp_adapter_shutdown(adapter, 0);
return -EIO;
}
+ zfcp_set_fc_host_attrs(adapter);
return 0;
}
diff -urN linux/drivers/s390/scsi/zfcp_scsi.c
linux/drivers/s390/scsi/zfcp_scsi.c
--- linux/drivers/s390/scsi/zfcp_scsi.c 2005/07/11 20:47:51 1.14
+++ linux/drivers/s390/scsi/zfcp_scsi.c 2005/08/29 16:15:26 1.15
@@ -389,7 +389,7 @@
struct zfcp_unit *unit, *retval = NULL;
list_for_each_entry(port, &adapter->port_list_head, list) {
- if (id != port->scsi_id)
+ if (!port->rport || (id != port->rport->scsi_target_id))
continue;
list_for_each_entry(unit, &port->unit_list_head, list) {
if (lun == unit->scsi_lun) {
@@ -408,7 +408,7 @@
struct zfcp_port *port;
list_for_each_entry(port, &adapter->port_list_head, list) {
- if (id == port->scsi_id)
+ if (port->rport && (id == port->rport->scsi_target_id))
return port;
}
return (struct zfcp_port *) NULL;
@@ -634,7 +634,6 @@
{
int retval;
struct zfcp_unit *unit = (struct zfcp_unit *) scpnt->device->hostdata;
- struct Scsi_Host *scsi_host = scpnt->device->host;
if (!unit) {
ZFCP_LOG_NORMAL("bug: Tried reset for nonexistent unit\n");
@@ -729,7 +728,6 @@
{
int retval = 0;
struct zfcp_unit *unit;
- struct Scsi_Host *scsi_host = scpnt->device->host;
unit = (struct zfcp_unit *) scpnt->device->hostdata;
ZFCP_LOG_NORMAL("bus reset because of problems with "
@@ -753,7 +751,6 @@
{
int retval = 0;
struct zfcp_unit *unit;
- struct Scsi_Host *scsi_host = scpnt->device->host;
unit = (struct zfcp_unit *) scpnt->device->hostdata;
ZFCP_LOG_NORMAL("host reset because of problems with "
@@ -833,6 +830,7 @@
shost = adapter->scsi_host;
if (!shost)
return;
+ fc_remove_host(shost);
scsi_remove_host(shost);
scsi_host_put(shost);
adapter->scsi_host = NULL;
@@ -906,6 +904,18 @@
read_unlock_irqrestore(&zfcp_data.config_lock, flags);
}
+void
+zfcp_set_fc_host_attrs(struct zfcp_adapter *adapter)
+{
+ struct Scsi_Host *shost = adapter->scsi_host;
+
+ fc_host_node_name(shost) = adapter->wwnn;
+ fc_host_port_name(shost) = adapter->wwpn;
+ strncpy(fc_host_serial_number(shost), adapter->serial_number,
+ min(FC_SERIAL_NUMBER_SIZE, 32));
+ fc_host_supported_classes(shost) = FC_COS_CLASS2 | FC_COS_CLASS3;
+}
+
struct fc_function_template zfcp_transport_functions = {
.get_starget_port_id = zfcp_get_port_id,
.get_starget_port_name = zfcp_get_port_name,
@@ -913,6 +923,11 @@
.show_starget_port_id = 1,
.show_starget_port_name = 1,
.show_starget_node_name = 1,
+ .show_rport_supported_classes = 1,
+ .show_host_node_name = 1,
+ .show_host_port_name = 1,
+ .show_host_supported_classes = 1,
+ .show_host_serial_number = 1,
};
/**
diff -urN linux/drivers/s390/scsi/zfcp_sysfs_port.c
linux/drivers/s390/scsi/zfcp_sysfs_port.c
--- linux/drivers/s390/scsi/zfcp_sysfs_port.c 2005/07/11 20:47:51 1.10
+++ linux/drivers/s390/scsi/zfcp_sysfs_port.c 2005/08/29 16:15:26 1.11
@@ -67,7 +67,6 @@
ZFCP_DEFINE_PORT_ATTR(status, "0x%08x\n", atomic_read(&port->status));
ZFCP_DEFINE_PORT_ATTR(wwnn, "0x%016llx\n", port->wwnn);
ZFCP_DEFINE_PORT_ATTR(d_id, "0x%06x\n", port->d_id);
-ZFCP_DEFINE_PORT_ATTR(scsi_id, "0x%x\n", port->scsi_id);
ZFCP_DEFINE_PORT_ATTR(in_recovery, "%d\n", atomic_test_mask
(ZFCP_STATUS_COMMON_ERP_INUSE, &port->status));
ZFCP_DEFINE_PORT_ATTR(access_denied, "%d\n", atomic_test_mask
@@ -263,7 +262,6 @@
static struct attribute *zfcp_port_no_ns_attrs[] = {
&dev_attr_unit_add.attr,
&dev_attr_unit_remove.attr,
- &dev_attr_scsi_id.attr,
NULL
};
diff -urN linux/drivers/scsi/sg.c linux/drivers/scsi/sg.c
--- linux/drivers/scsi/sg.c 2005/07/11 20:47:52 1.83
+++ linux/drivers/scsi/sg.c 2005/08/29 16:15:26 1.84
@@ -2971,23 +2971,22 @@
{
struct sg_proc_deviter * it = kmalloc(sizeof(*it), GFP_KERNEL);
+ s->private = it;
if (! it)
return NULL;
+
if (NULL == sg_dev_arr)
- goto err1;
+ return NULL;
it->index = *pos;
it->max = sg_last_dev();
if (it->index >= it->max)
- goto err1;
+ return NULL;
return it;
-err1:
- kfree(it);
- return NULL;
}
static void * dev_seq_next(struct seq_file *s, void *v, loff_t *pos)
{
- struct sg_proc_deviter * it = (struct sg_proc_deviter *) v;
+ struct sg_proc_deviter * it = s->private;
*pos = ++it->index;
return (it->index < it->max) ? it : NULL;
@@ -2995,7 +2994,7 @@
static void dev_seq_stop(struct seq_file *s, void *v)
{
- kfree (v);
+ kfree(s->private);
}
static int sg_proc_open_dev(struct inode *inode, struct file *file)
diff -urN linux/fs/inotify.c linux/fs/inotify.c
--- linux/fs/inotify.c 2005/08/24 16:23:15 1.4
+++ linux/fs/inotify.c 2005/08/29 16:15:26 1.5
@@ -353,7 +353,7 @@
do {
if (unlikely(!idr_pre_get(&dev->idr, GFP_KERNEL)))
return -ENOSPC;
- ret = idr_get_new_above(&dev->idr, watch, dev->last_wd,
&watch->wd);
+ ret = idr_get_new_above(&dev->idr, watch, dev->last_wd+1,
&watch->wd);
} while (ret == -EAGAIN);
return ret;
diff -urN linux/fs/cifs/file.c linux/fs/cifs/file.c
--- linux/fs/cifs/file.c 2005/06/18 14:42:49 1.34
+++ linux/fs/cifs/file.c 2005/08/29 16:15:26 1.35
@@ -643,7 +643,7 @@
netfid, length,
pfLock->fl_start, numUnlock, numLock, lockType,
wait_flag);
- if (rc == 0 && (pfLock->fl_flags & FL_POSIX))
+ if (pfLock->fl_flags & FL_POSIX)
posix_lock_file_wait(file, pfLock);
FreeXid(xid);
return rc;
diff -urN linux/fs/hppfs/hppfs_kern.c linux/fs/hppfs/hppfs_kern.c
--- linux/fs/hppfs/hppfs_kern.c 2005/08/01 18:24:40 1.3
+++ linux/fs/hppfs/hppfs_kern.c 2005/08/29 16:15:27 1.4
@@ -38,7 +38,7 @@
static inline struct hppfs_inode_info *HPPFS_I(struct inode *inode)
{
- return(list_entry(inode, struct hppfs_inode_info, vfs_inode));
+ return container_of(inode, struct hppfs_inode_info, vfs_inode);
}
#define HPPFS_SUPER_MAGIC 0xb00000ee
@@ -662,42 +662,36 @@
{
struct file *proc_file;
struct dentry *proc_dentry;
- int (*readlink)(struct dentry *, char *, int);
- int err, n;
+ int ret;
proc_dentry = HPPFS_I(dentry->d_inode)->proc_dentry;
proc_file = dentry_open(dget(proc_dentry), NULL, O_RDONLY);
- err = PTR_ERR(proc_dentry);
- if(IS_ERR(proc_dentry))
- return(err);
+ if (IS_ERR(proc_file))
+ return PTR_ERR(proc_file);
- readlink = proc_dentry->d_inode->i_op->readlink;
- n = (*readlink)(proc_dentry, buffer, buflen);
+ ret = proc_dentry->d_inode->i_op->readlink(proc_dentry, buffer, buflen);
fput(proc_file);
- return(n);
+ return ret;
}
-static int hppfs_follow_link(struct dentry *dentry, struct nameidata *nd)
+static void* hppfs_follow_link(struct dentry *dentry, struct nameidata *nd)
{
struct file *proc_file;
struct dentry *proc_dentry;
- int (*follow_link)(struct dentry *, struct nameidata *);
- int err, n;
+ void *ret;
proc_dentry = HPPFS_I(dentry->d_inode)->proc_dentry;
proc_file = dentry_open(dget(proc_dentry), NULL, O_RDONLY);
- err = PTR_ERR(proc_dentry);
- if(IS_ERR(proc_dentry))
- return(err);
+ if (IS_ERR(proc_file))
+ return proc_file;
- follow_link = proc_dentry->d_inode->i_op->follow_link;
- n = (*follow_link)(proc_dentry, nd);
+ ret = proc_dentry->d_inode->i_op->follow_link(proc_dentry, nd);
fput(proc_file);
- return(n);
+ return ret;
}
static struct inode_operations hppfs_dir_iops = {
diff -urN linux/fs/sysfs/inode.c linux/fs/sysfs/inode.c
--- linux/fs/sysfs/inode.c 2005/08/03 15:50:43 1.23
+++ linux/fs/sysfs/inode.c 2005/08/29 16:15:27 1.24
@@ -228,6 +228,10 @@
struct sysfs_dirent * sd;
struct sysfs_dirent * parent_sd = dir->d_fsdata;
+ if (dir->d_inode == NULL)
+ /* no inode means this hasn't been made visible yet */
+ return;
+
down(&dir->d_inode->i_sem);
list_for_each_entry(sd, &parent_sd->s_children, s_sibling) {
if (!sd->s_element)
diff -urN linux/include/asm-m68k/page.h linux/include/asm-m68k/page.h
--- linux/include/asm-m68k/page.h 2004/06/26 15:15:24 1.22
+++ linux/include/asm-m68k/page.h 2005/08/29 16:15:27 1.23
@@ -138,13 +138,13 @@
#define __pa(vaddr) ((unsigned long)(vaddr)+m68k_memoffset)
#define __va(paddr) ((void *)((unsigned
long)(paddr)-m68k_memoffset))
#else
-#define __pa(vaddr) virt_to_phys((void *)vaddr)
-#define __va(paddr) phys_to_virt((unsigned long)paddr)
+#define __pa(vaddr) virt_to_phys((void *)(vaddr))
+#define __va(paddr) phys_to_virt((unsigned long)(paddr))
#endif
#else /* !CONFIG_SUN3 */
/* This #define is a horrible hack to suppress lots of warnings. --m */
-#define __pa(x) ___pa((unsigned long)x)
+#define __pa(x) ___pa((unsigned long)(x))
static inline unsigned long ___pa(unsigned long x)
{
if(x == 0)
diff -urN linux/include/asm-ppc64/bug.h linux/include/asm-ppc64/bug.h
--- linux/include/asm-ppc64/bug.h 2005/05/19 12:08:43 1.5
+++ linux/include/asm-ppc64/bug.h 2005/08/29 16:15:27 1.6
@@ -43,8 +43,8 @@
".section __bug_table,\"a\"\n\t" \
" .llong 1b,%1,%2,%3\n" \
".previous" \
- : : "r" (x), "i" (__LINE__), "i" (__FILE__), \
- "i" (__FUNCTION__)); \
+ : : "r" ((long long)(x)), "i" (__LINE__), \
+ "i" (__FILE__), "i" (__FUNCTION__)); \
} while (0)
#define WARN_ON(x) do { \
@@ -53,7 +53,8 @@
".section __bug_table,\"a\"\n\t" \
" .llong 1b,%1,%2,%3\n" \
".previous" \
- : : "r" (x), "i" (__LINE__ + BUG_WARNING_TRAP), \
+ : : "r" ((long long)(x)), \
+ "i" (__LINE__ + BUG_WARNING_TRAP), \
"i" (__FILE__), "i" (__FUNCTION__)); \
} while (0)
diff -urN linux/include/asm-x86_64/e820.h linux/include/asm-x86_64/e820.h
--- linux/include/asm-x86_64/e820.h 2005/05/19 12:08:45 1.8
+++ linux/include/asm-x86_64/e820.h 2005/08/29 16:15:27 1.9
@@ -51,6 +51,8 @@
extern void e820_bootmem_free(pg_data_t *pgdat, unsigned long start,unsigned
long end);
extern void e820_setup_gap(void);
+extern unsigned long e820_hole_size(unsigned long start_pfn,
+ unsigned long end_pfn);
extern void __init parse_memopt(char *p, char **end);
diff -urN linux/kernel/cpuset.c linux/kernel/cpuset.c
--- linux/kernel/cpuset.c 2005/08/24 16:23:27 1.7
+++ linux/kernel/cpuset.c 2005/08/29 16:15:27 1.8
@@ -627,6 +627,14 @@
* Call with cpuset_sem held. May nest a call to the
* lock_cpu_hotplug()/unlock_cpu_hotplug() pair.
*/
+
+/*
+ * Hack to avoid 2.6.13 partial node dynamic sched domain bug.
+ * Disable letting 'cpu_exclusive' cpusets define dynamic sched
+ * domains, until the sched domain can handle partial nodes.
+ * Remove this #if hackery when sched domains fixed.
+ */
+#if 0
static void update_cpu_domains(struct cpuset *cur)
{
struct cpuset *c, *par = cur->parent;
@@ -636,23 +644,6 @@
return;
/*
- * Hack to avoid 2.6.13 partial node dynamic sched domain bug.
- * Require the 'cpu_exclusive' cpuset to include all (or none)
- * of the CPUs on each node, or return w/o changing sched domains.
- * Remove this hack when dynamic sched domains fixed.
- */
- {
- int i, j;
-
- for_each_cpu_mask(i, cur->cpus_allowed) {
- for_each_cpu_mask(j, node_to_cpumask(cpu_to_node(i))) {
- if (!cpu_isset(j, cur->cpus_allowed))
- return;
- }
- }
- }
-
- /*
* Get all cpus from parent's cpus_allowed not part of exclusive
* children
*/
@@ -684,6 +675,11 @@
partition_sched_domains(&pspan, &cspan);
unlock_cpu_hotplug();
}
+#else
+static void update_cpu_domains(struct cpuset *cur)
+{
+}
+#endif
static int update_cpumask(struct cpuset *cs, char *buf)
{
diff -urN linux/lib/idr.c linux/lib/idr.c
--- linux/lib/idr.c 2005/07/11 20:49:01 1.11
+++ linux/lib/idr.c 2005/08/29 16:15:28 1.12
@@ -207,7 +207,7 @@
}
/**
- * idr_get_new_above - allocate new idr entry above a start id
+ * idr_get_new_above - allocate new idr entry above or equal to a start id
* @idp: idr handle
* @ptr: pointer you want associated with the ide
* @start_id: id to start search at
diff -urN linux/net/ipv4/fib_trie.c linux/net/ipv4/fib_trie.c
--- linux/net/ipv4/fib_trie.c 2005/08/01 18:24:59 1.3
+++ linux/net/ipv4/fib_trie.c 2005/08/29 16:15:28 1.4
@@ -1333,9 +1333,9 @@
}
static inline int check_leaf(struct trie *t, struct leaf *l, t_key key, int
*plen, const struct flowi *flp,
- struct fib_result *res, int *err)
+ struct fib_result *res)
{
- int i;
+ int err, i;
t_key mask;
struct leaf_info *li;
struct hlist_head *hhead = &l->list;
@@ -1348,18 +1348,18 @@
if (l->key != (key & mask))
continue;
- if (((*err) = fib_semantic_match(&li->falh, flp, res, l->key,
mask, i)) == 0) {
+ if ((err = fib_semantic_match(&li->falh, flp, res, l->key,
mask, i)) <= 0) {
*plen = i;
#ifdef CONFIG_IP_FIB_TRIE_STATS
t->stats.semantic_match_passed++;
#endif
- return 1;
+ return err;
}
#ifdef CONFIG_IP_FIB_TRIE_STATS
t->stats.semantic_match_miss++;
#endif
}
- return 0;
+ return 1;
}
static int
@@ -1386,7 +1386,7 @@
/* Just a leaf? */
if (IS_LEAF(n)) {
- if (check_leaf(t, (struct leaf *)n, key, &plen, flp, res, &ret))
+ if ((ret = check_leaf(t, (struct leaf *)n, key, &plen, flp,
res)) <= 0)
goto found;
goto failed;
}
@@ -1508,7 +1508,7 @@
continue;
}
if (IS_LEAF(n)) {
- if (check_leaf(t, (struct leaf *)n, key, &plen, flp,
res, &ret))
+ if ((ret = check_leaf(t, (struct leaf *)n, key, &plen,
flp, res)) <= 0)
goto found;
}
backtrace:
|