From 4c7ed1860c0d21292284fb044c465ba00ce89b7f Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Mon, 4 Feb 2002 20:21:29 -0800 Subject: v2.4.11 -> v2.4.12 - Greg KH: USB update (fix UHCI timeouts, serial unplug) - Christoph Rohland: shmem locking fixes - Al Viro: more mount cleanup - me: fix bad interaction with link_count handling - David Miller: Sparc updates, net cleanup - Tim Waugh: parport update - Jeff Garzik: net driver updates --- include/asm-i386/smp.h | 2 +- include/asm-sparc/processor.h | 2 +- include/asm-sparc/unistd.h | 4 ++-- include/asm-sparc64/processor.h | 2 +- include/asm-sparc64/unistd.h | 4 ++-- include/linux/ext2_fs.h | 3 --- include/linux/fs.h | 1 + include/linux/netdevice.h | 35 +++++++++++++++++++++++++++++++++++ include/linux/parport.h | 3 ++- include/linux/pci_ids.h | 5 ++--- include/linux/sched.h | 2 +- include/linux/shmem_fs.h | 18 ++++++++++++------ 12 files changed, 60 insertions(+), 21 deletions(-) (limited to 'include') diff --git a/include/asm-i386/smp.h b/include/asm-i386/smp.h index f841e428c3f3..24c22c40cd6c 100644 --- a/include/asm-i386/smp.h +++ b/include/asm-i386/smp.h @@ -31,7 +31,7 @@ # define INT_DELIVERY_MODE 1 /* logical delivery broadcast to all procs */ # endif #else -# define INT_DELIVERY_MODE 0 /* physical delivery on LOCAL quad */ +# define INT_DELIVERY_MODE 1 /* logical delivery */ # define TARGET_CPUS 0x01 #endif diff --git a/include/asm-sparc/processor.h b/include/asm-sparc/processor.h index f33f8346a3de..bdf40ecf37b7 100644 --- a/include/asm-sparc/processor.h +++ b/include/asm-sparc/processor.h @@ -1,4 +1,4 @@ -/* $Id: processor.h,v 1.82 2001/09/20 00:35:34 davem Exp $ +/* $Id: processor.h,v 1.83 2001/10/08 09:32:13 davem Exp $ * include/asm-sparc/processor.h * * Copyright (C) 1994 David S. Miller (davem@caip.rutgers.edu) diff --git a/include/asm-sparc/unistd.h b/include/asm-sparc/unistd.h index 741949c5e4e2..7fff6e2176be 100644 --- a/include/asm-sparc/unistd.h +++ b/include/asm-sparc/unistd.h @@ -1,4 +1,4 @@ -/* $Id: unistd.h,v 1.70 2000/08/14 05:39:07 jj Exp $ */ +/* $Id: unistd.h,v 1.71 2001/10/09 10:54:39 davem Exp $ */ #ifndef _SPARC_UNISTD_H #define _SPARC_UNISTD_H @@ -158,7 +158,7 @@ /* #define __NR_adjtime 140 SunOS Specific */ #define __NR_getpeername 141 /* Common */ /* #define __NR_gethostid 142 SunOS Specific */ -/* #define __NR_ni_syscall 143 ENOSYS under SunOS */ +#define __NR_gettid 143 /* ENOSYS under SunOS */ #define __NR_getrlimit 144 /* Common */ #define __NR_setrlimit 145 /* Common */ #define __NR_pivot_root 146 /* Linux Specific, killpg under SunOS */ diff --git a/include/asm-sparc64/processor.h b/include/asm-sparc64/processor.h index a75aecfed402..c026b640a103 100644 --- a/include/asm-sparc64/processor.h +++ b/include/asm-sparc64/processor.h @@ -1,4 +1,4 @@ -/* $Id: processor.h,v 1.75 2001/09/20 00:35:34 davem Exp $ +/* $Id: processor.h,v 1.76 2001/10/08 09:32:13 davem Exp $ * include/asm-sparc64/processor.h * * Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu) diff --git a/include/asm-sparc64/unistd.h b/include/asm-sparc64/unistd.h index f89c5d50a196..a9b7cd162fe5 100644 --- a/include/asm-sparc64/unistd.h +++ b/include/asm-sparc64/unistd.h @@ -1,4 +1,4 @@ -/* $Id: unistd.h,v 1.47 2000/08/14 05:39:07 jj Exp $ */ +/* $Id: unistd.h,v 1.48 2001/10/09 10:54:39 davem Exp $ */ #ifndef _SPARC64_UNISTD_H #define _SPARC64_UNISTD_H @@ -158,7 +158,7 @@ /* #define __NR_adjtime 140 SunOS Specific */ #define __NR_getpeername 141 /* Common */ /* #define __NR_gethostid 142 SunOS Specific */ -/* #define __NR_ni_syscall 143 ENOSYS under SunOS */ +#define __NR_gettid 143 /* ENOSYS under SunOS */ #define __NR_getrlimit 144 /* Common */ #define __NR_setrlimit 145 /* Common */ #define __NR_pivot_root 146 /* Linux Specific, killpg under SunOS */ diff --git a/include/linux/ext2_fs.h b/include/linux/ext2_fs.h index 3351936bc1b3..79d82d2ac6d8 100644 --- a/include/linux/ext2_fs.h +++ b/include/linux/ext2_fs.h @@ -545,9 +545,6 @@ enum { # define ATTRIB_NORET __attribute__((noreturn)) # define NORET_AND noreturn, -/* acl.c */ -extern int ext2_permission (struct inode *, int); - /* balloc.c */ extern int ext2_bg_has_super(struct super_block *sb, int group); extern unsigned long ext2_bg_num_gdb(struct super_block *sb, int group); diff --git a/include/linux/fs.h b/include/linux/fs.h index 25b027edda36..d1327ef61f97 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -109,6 +109,7 @@ extern int leases_enable, dir_notify_enable, lease_break_time; #define MS_NODIRATIME 2048 /* Do not update directory access times */ #define MS_BIND 4096 #define MS_REC 16384 +#define MS_VERBOSE 32768 #define MS_NOUSER (1<<31) /* diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index c6d1f405f728..456e9db29d97 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -636,6 +636,41 @@ static inline void netif_device_attach(struct net_device *dev) } } +/* + * Network interface message level settings + */ +#define HAVE_NETIF_MSG 1 + +enum { + NETIF_MSG_DRV = 0x0001, + NETIF_MSG_PROBE = 0x0002, + NETIF_MSG_LINK = 0x0004, + NETIF_MSG_TIMER = 0x0008, + NETIF_MSG_IFDOWN = 0x0010, + NETIF_MSG_IFUP = 0x0020, + NETIF_MSG_RX_ERR = 0x0040, + NETIF_MSG_TX_ERR = 0x0080, + NETIF_MSG_TX_QUEUED = 0x0100, + NETIF_MSG_INTR = 0x0200, + NETIF_MSG_TX_DONE = 0x0400, + NETIF_MSG_RX_STATUS = 0x0800, + NETIF_MSG_PKTDATA = 0x1000, +}; + +#define netif_msg_drv(p) ((p)->msg_enable & NETIF_MSG_DRV) +#define netif_msg_probe(p) ((p)->msg_enable & NETIF_MSG_PROBE) +#define netif_msg_link(p) ((p)->msg_enable & NETIF_MSG_LINK) +#define netif_msg_timer(p) ((p)->msg_enable & NETIF_MSG_TIMER) +#define netif_msg_ifdown(p) ((p)->msg_enable & NETIF_MSG_IFDOWN) +#define netif_msg_ifup(p) ((p)->msg_enable & NETIF_MSG_IFUP) +#define netif_msg_rx_err(p) ((p)->msg_enable & NETIF_MSG_RX_ERR) +#define netif_msg_tx_err(p) ((p)->msg_enable & NETIF_MSG_TX_ERR) +#define netif_msg_tx_queued(p) ((p)->msg_enable & NETIF_MSG_TX_QUEUED) +#define netif_msg_intr(p) ((p)->msg_enable & NETIF_MSG_INTR) +#define netif_msg_tx_done(p) ((p)->msg_enable & NETIF_MSG_TX_DONE) +#define netif_msg_rx_status(p) ((p)->msg_enable & NETIF_MSG_RX_STATUS) +#define netif_msg_pktdata(p) ((p)->msg_enable & NETIF_MSG_PKTDATA) + /* These functions live elsewhere (drivers/net/net_init.c, but related) */ extern void ether_setup(struct net_device *dev); diff --git a/include/linux/parport.h b/include/linux/parport.h index f0659c771ff3..07a9ac6ae9a3 100644 --- a/include/linux/parport.h +++ b/include/linux/parport.h @@ -251,7 +251,8 @@ enum ieee1284_phase { IEEE1284_PH_REV_DATA, IEEE1284_PH_ECP_SETUP, IEEE1284_PH_ECP_FWD_TO_REV, - IEEE1284_PH_ECP_REV_TO_FWD + IEEE1284_PH_ECP_REV_TO_FWD, + IEEE1284_PH_ECP_DIR_UNKNOWN, }; struct ieee1284_info { int mode; diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 3998ff150d9d..bc3d02f4d249 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -1437,9 +1437,11 @@ #define PCI_DEVICE_ID_TIMEDIA_1889 0x7168 #define PCI_VENDOR_ID_OXSEMI 0x1415 +#define PCI_DEVICE_ID_OXSEMI_12PCI840 0x8403 #define PCI_DEVICE_ID_OXSEMI_16PCI954 0x9501 #define PCI_DEVICE_ID_OXSEMI_16PCI952 0x950A #define PCI_DEVICE_ID_OXSEMI_16PCI95N 0x9511 +#define PCI_DEVICE_ID_OXSEMI_16PCI954PP 0x9513 #define PCI_VENDOR_ID_AIRONET 0x14b9 #define PCI_DEVICE_ID_AIRONET_4800_1 0x0001 @@ -1463,9 +1465,6 @@ #define PCI_DEVICE_ID_PANACOM_QUADMODEM 0x0400 #define PCI_DEVICE_ID_PANACOM_DUALMODEM 0x0402 -#define PCI_VENDOR_ID_AFAVLAB 0x14db -#define PCI_DEVICE_ID_AFAVLAB_TK9902 0x2120 - #define PCI_VENDOR_ID_BROADCOM 0x14e4 #define PCI_DEVICE_ID_TIGON3 0x1644 diff --git a/include/linux/sched.h b/include/linux/sched.h index 45ab381f26aa..564fb7b3e371 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -369,7 +369,7 @@ struct task_struct { unsigned short used_math; char comm[16]; /* file system info */ - int link_count; + int link_count, total_link_count; struct tty_struct *tty; /* NULL if no tty */ unsigned int locks; /* How many file locks are being held */ /* ipc stuff */ diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h index e1f2c56e39fc..fbcfce81e110 100644 --- a/include/linux/shmem_fs.h +++ b/include/linux/shmem_fs.h @@ -17,14 +17,18 @@ typedef struct { unsigned long val; } swp_entry_t; +extern atomic_t shmem_nrpages; + struct shmem_inode_info { - spinlock_t lock; - unsigned long max_index; - swp_entry_t i_direct[SHMEM_NR_DIRECT]; /* for the first blocks */ - swp_entry_t **i_indirect; /* doubly indirect blocks */ - unsigned long swapped; - int locked; /* into memory */ + spinlock_t lock; + struct semaphore sem; + unsigned long next_index; + swp_entry_t i_direct[SHMEM_NR_DIRECT]; /* for the first blocks */ + void **i_indirect; /* indirect blocks */ + unsigned long swapped; + int locked; /* into memory */ struct list_head list; + struct inode *inode; }; struct shmem_sb_info { @@ -35,4 +39,6 @@ struct shmem_sb_info { spinlock_t stat_lock; }; +#define SHMEM_I(inode) (&inode->u.shmem_i) + #endif -- cgit v1.2.3