## Automatically generated incremental diff ## From: linux-2.4.22-bk45 ## To: linux-2.4.22-bk46 ## Robot: $Id: make-incremental-diff,v 1.11 2002/02/20 02:59:33 hpa Exp $ diff -urN linux-2.4.22-bk45/Documentation/video4linux/meye.txt linux-2.4.22-bk46/Documentation/video4linux/meye.txt --- linux-2.4.22-bk45/Documentation/video4linux/meye.txt 2003-11-04 03:29:59.000000000 -0800 +++ linux-2.4.22-bk46/Documentation/video4linux/meye.txt 2003-11-04 03:31:52.000000000 -0800 @@ -33,6 +33,11 @@ driver however), but things are not moving very fast (see http://r-engine.sourceforge.net/) (PCI vendor/device is 0x10cf/0x2011). +There is a forth model connected on the USB bus in TR1* Vaio laptops. +This camera is not supported at all by the current driver, in fact +little information if any is available for this camera +(USB vendor/device is 0x054c/0x0107). + Driver options: --------------- diff -urN linux-2.4.22-bk45/Makefile linux-2.4.22-bk46/Makefile --- linux-2.4.22-bk45/Makefile 2003-11-04 03:29:59.000000000 -0800 +++ linux-2.4.22-bk46/Makefile 2003-11-04 03:31:52.000000000 -0800 @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 4 SUBLEVEL = 22 -EXTRAVERSION = -bk45 +EXTRAVERSION = -bk46 KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) diff -urN linux-2.4.22-bk45/drivers/hotplug/Config.in linux-2.4.22-bk46/drivers/hotplug/Config.in --- linux-2.4.22-bk45/drivers/hotplug/Config.in 2003-08-25 04:44:41.000000000 -0700 +++ linux-2.4.22-bk46/drivers/hotplug/Config.in 2003-11-04 03:32:10.000000000 -0800 @@ -11,7 +11,7 @@ if [ "$CONFIG_X86_IO_APIC" = "y" ]; then dep_tristate ' IBM PCI Hotplug driver' CONFIG_HOTPLUG_PCI_IBM $CONFIG_HOTPLUG_PCI $CONFIG_X86_IO_APIC $CONFIG_X86 fi -if [ "$CONFIG_ACPI_INTERPRETER" ]; then +if [ "$CONFIG_ACPI_INTERPRETER" = "y" ]; then dep_tristate ' ACPI PCI Hotplug driver' CONFIG_HOTPLUG_PCI_ACPI $CONFIG_HOTPLUG_PCI fi endmenu diff -urN linux-2.4.22-bk45/drivers/media/video/meye.c linux-2.4.22-bk46/drivers/media/video/meye.c --- linux-2.4.22-bk45/drivers/media/video/meye.c 2003-11-04 03:30:41.000000000 -0800 +++ linux-2.4.22-bk46/drivers/media/video/meye.c 2003-11-04 03:32:13.000000000 -0800 @@ -862,7 +862,7 @@ /* Interrupt handling */ /****************************************************************************/ -static void meye_irq(int irq, void *dev_id, struct pt_regs *regs) { +static irqreturn_t meye_irq(int irq, void *dev_id, struct pt_regs *regs) { u32 v; int reqnr; v = mchip_read(MCHIP_MM_INTA); @@ -870,7 +870,7 @@ while (1) { v = mchip_get_frame(); if (!(v & MCHIP_MM_FIR_RDY)) - return; + return IRQ_NONE; switch (meye.mchip_mode) { case MCHIP_HIC_MODE_CONT_OUT: @@ -903,11 +903,12 @@ default: /* do not free frame, since it can be a snap */ - return; + return IRQ_NONE; } /* switch */ mchip_free_frame(); } + return IRQ_HANDLED; } /****************************************************************************/ @@ -1252,6 +1253,7 @@ .type = VID_TYPE_CAPTURE, .hardware = VID_HARDWARE_MEYE, .fops = &meye_fops, + .release = video_device_release, .minor = -1, }; @@ -1304,7 +1306,7 @@ } meye.mchip_dev = pcidev; - meye.video_dev = kmalloc(sizeof(struct video_device), GFP_KERNEL); + meye.video_dev = video_device_alloc(); if (!meye.video_dev) { printk(KERN_ERR "meye: video_device_alloc() failed!\n"); ret = -EBUSY; @@ -1417,7 +1419,7 @@ out3: pci_disable_device(meye.mchip_dev); out2: - kfree(meye.video_dev); + video_device_release(meye.video_dev); meye.video_dev = NULL; sonypi_camera_command(SONYPI_COMMAND_SETCAMERA, 0); diff -urN linux-2.4.22-bk45/drivers/media/video/meye.h linux-2.4.22-bk46/drivers/media/video/meye.h --- linux-2.4.22-bk45/drivers/media/video/meye.h 2003-11-04 03:30:41.000000000 -0800 +++ linux-2.4.22-bk46/drivers/media/video/meye.h 2003-11-04 03:32:13.000000000 -0800 @@ -31,13 +31,11 @@ #define _MEYE_PRIV_H_ #define MEYE_DRIVER_MAJORVERSION 1 -#define MEYE_DRIVER_MINORVERSION 7 +#define MEYE_DRIVER_MINORVERSION 8 #include #include #include -#include -#include /****************************************************************************/ /* Motion JPEG chip registers */ diff -urN linux-2.4.22-bk45/drivers/net/8139cp.c linux-2.4.22-bk46/drivers/net/8139cp.c --- linux-2.4.22-bk45/drivers/net/8139cp.c 2003-11-04 03:30:41.000000000 -0800 +++ linux-2.4.22-bk46/drivers/net/8139cp.c 2003-11-04 03:32:13.000000000 -0800 @@ -615,8 +615,8 @@ if (cpr16(IntrStatus) & cp_rx_intr_mask) goto rx_status_loop; - cpw16_f(IntrMask, cp_intr_mask); netif_rx_complete(dev); + cpw16_f(IntrMask, cp_intr_mask); return 0; /* done */ } diff -urN linux-2.4.22-bk45/fs/inode.c linux-2.4.22-bk46/fs/inode.c --- linux-2.4.22-bk45/fs/inode.c 2003-11-04 03:31:36.000000000 -0800 +++ linux-2.4.22-bk46/fs/inode.c 2003-11-04 03:32:30.000000000 -0800 @@ -947,6 +947,37 @@ } +/** + * ilookup - search for an inode in the inode cache + * @sb: super block of file system to search + * @ino: inode number to search for + * + * If the inode is in the cache, the inode is returned with an + * incremented reference count. + * + * Otherwise, %NULL is returned. + * + * This is almost certainly not the function you are looking for. + * If you think you need to use this, consult an expert first. + */ +struct inode *ilookup(struct super_block *sb, unsigned long ino) +{ + struct list_head * head = inode_hashtable + hash(sb,ino); + struct inode * inode; + + spin_lock(&inode_lock); + inode = find_inode(sb, ino, head, NULL, NULL); + if (inode) { + __iget(inode); + spin_unlock(&inode_lock); + wait_on_inode(inode); + return inode; + } + spin_unlock(&inode_lock); + + return inode; +} + struct inode *igrab(struct inode *inode) { spin_lock(&inode_lock); diff -urN linux-2.4.22-bk45/fs/jffs2/dir.c linux-2.4.22-bk46/fs/jffs2/dir.c --- linux-2.4.22-bk45/fs/jffs2/dir.c 2003-08-25 04:44:43.000000000 -0700 +++ linux-2.4.22-bk46/fs/jffs2/dir.c 2003-11-04 03:32:30.000000000 -0800 @@ -31,7 +31,7 @@ * provisions above, a recipient may use your version of this file * under either the RHEPL or the GPL. * - * $Id: dir.c,v 1.45.2.7 2002/08/26 15:30:18 dwmw2 Exp $ + * $Id: dir.c,v 1.45.2.8 2003/11/02 13:51:17 dwmw2 Exp $ * */ diff -urN linux-2.4.22-bk45/fs/jffs2/erase.c linux-2.4.22-bk46/fs/jffs2/erase.c --- linux-2.4.22-bk45/fs/jffs2/erase.c 2003-08-25 04:44:43.000000000 -0700 +++ linux-2.4.22-bk46/fs/jffs2/erase.c 2003-11-04 03:32:30.000000000 -0800 @@ -31,7 +31,7 @@ * provisions above, a recipient may use your version of this file * under either the RHEPL or the GPL. * - * $Id: erase.c,v 1.24 2001/12/06 16:38:38 dwmw2 Exp $ + * $Id: erase.c,v 1.24.2.1 2003/11/02 13:51:17 dwmw2 Exp $ * */ #include diff -urN linux-2.4.22-bk45/fs/jffs2/file.c linux-2.4.22-bk46/fs/jffs2/file.c --- linux-2.4.22-bk45/fs/jffs2/file.c 2003-08-25 04:44:43.000000000 -0700 +++ linux-2.4.22-bk46/fs/jffs2/file.c 2003-11-04 03:32:30.000000000 -0800 @@ -31,7 +31,7 @@ * provisions above, a recipient may use your version of this file * under either the RHEPL or the GPL. * - * $Id: file.c,v 1.58.2.6 2002/11/12 13:17:01 dwmw2 Exp $ + * $Id: file.c,v 1.58.2.7 2003/11/02 13:51:17 dwmw2 Exp $ * */ diff -urN linux-2.4.22-bk45/fs/jffs2/gc.c linux-2.4.22-bk46/fs/jffs2/gc.c --- linux-2.4.22-bk45/fs/jffs2/gc.c 2003-08-25 04:44:43.000000000 -0700 +++ linux-2.4.22-bk46/fs/jffs2/gc.c 2003-11-04 03:32:30.000000000 -0800 @@ -31,7 +31,7 @@ * provisions above, a recipient may use your version of this file * under either the RHEPL or the GPL. * - * $Id: gc.c,v 1.52.2.5 2002/10/10 13:18:38 dwmw2 Exp $ + * $Id: gc.c,v 1.52.2.7 2003/11/02 13:54:20 dwmw2 Exp $ * */ @@ -109,8 +109,8 @@ struct jffs2_node_frag *frag; struct jffs2_full_dnode *fn = NULL; struct jffs2_full_dirent *fd; + struct jffs2_inode_cache *ic; __u32 start = 0, end = 0, nrfrags = 0; - __u32 inum; struct inode *inode; int ret = 0; @@ -162,16 +162,47 @@ goto eraseit_lock; } - inum = jffs2_raw_ref_to_inum(raw); - D1(printk(KERN_DEBUG "Inode number is #%u\n", inum)); + ic = jffs2_raw_ref_to_ic(raw); + D1(printk(KERN_DEBUG "Inode number is #%u\n", ic->ino)); spin_unlock_bh(&c->erase_completion_lock); - D1(printk(KERN_DEBUG "jffs2_garbage_collect_pass collecting from block @0x%08x. Node @0x%08x, ino #%u\n", jeb->offset, raw->flash_offset&~3, inum)); - - inode = iget(OFNI_BS_2SFFJ(c), inum); + D1(printk(KERN_DEBUG "jffs2_garbage_collect_pass collecting from block @0x%08x. Node @0x%08x, ino #%u\n", jeb->offset, raw->flash_offset&~3, ic->ino)); + if (!ic->nlink) { + /* The inode has zero nlink but its nodes weren't yet marked + obsolete. This has to be because we're still waiting for + the final (close() and) iput() to happen. + + There's a possibility that the final iput() could have + happened while we were contemplating. In order to ensure + that we don't cause a new read_inode() (which would fail) + for the inode in question, we use ilookup() in this case + instead of iget(). + + The nlink can't _become_ zero at this point because we're + holding the alloc_sem, and jffs2_do_unlink() would also + need that while decrementing nlink on any inode. + */ + inode = ilookup(OFNI_BS_2SFFJ(c), ic->ino); + if (!inode) { + D1(printk(KERN_DEBUG "ilookup() failed for ino #%u; inode is probably deleted.\n", + ic->ino)); + up(&c->alloc_sem); + return 0; + } + } else { + /* Inode has links to it still; they're not going away because + jffs2_do_unlink() would need the alloc_sem and we have it. + Just iget() it, and if read_inode() is necessary that's OK. + */ + inode = iget(OFNI_BS_2SFFJ(c), ic->ino); + if (!inode) { + up(&c->alloc_sem); + return -ENOMEM; + } + } if (is_bad_inode(inode)) { - printk(KERN_NOTICE "Eep. read_inode() failed for ino #%u\n", inum); + printk(KERN_NOTICE "Eep. read_inode() failed for ino #%u\n", ic->ino); /* NB. This will happen again. We need to do something appropriate here. */ up(&c->alloc_sem); iput(inode); diff -urN linux-2.4.22-bk45/fs/jffs2/nodelist.h linux-2.4.22-bk46/fs/jffs2/nodelist.h --- linux-2.4.22-bk45/fs/jffs2/nodelist.h 2003-06-13 07:51:37.000000000 -0700 +++ linux-2.4.22-bk46/fs/jffs2/nodelist.h 2003-11-04 03:32:30.000000000 -0800 @@ -31,7 +31,7 @@ * provisions above, a recipient may use your version of this file * under either the RHEPL or the GPL. * - * $Id: nodelist.h,v 1.46.2.4 2003/02/24 21:49:33 dwmw2 Exp $ + * $Id: nodelist.h,v 1.46.2.5 2003/11/02 13:54:20 dwmw2 Exp $ * */ @@ -232,13 +232,13 @@ #define PAD(x) (((x)+3)&~3) -static inline int jffs2_raw_ref_to_inum(struct jffs2_raw_node_ref *raw) +static inline struct jffs2_inode_cache *jffs2_raw_ref_to_ic(struct jffs2_raw_node_ref *raw) { while(raw->next_in_ino) { raw = raw->next_in_ino; } - return ((struct jffs2_inode_cache *)raw)->ino; + return ((struct jffs2_inode_cache *)raw); } /* nodelist.c */ diff -urN linux-2.4.22-bk45/fs/jffs2/read.c linux-2.4.22-bk46/fs/jffs2/read.c --- linux-2.4.22-bk45/fs/jffs2/read.c 2003-08-25 04:44:43.000000000 -0700 +++ linux-2.4.22-bk46/fs/jffs2/read.c 2003-11-04 03:32:30.000000000 -0800 @@ -31,7 +31,7 @@ * provisions above, a recipient may use your version of this file * under either the RHEPL or the GPL. * - * $Id: read.c,v 1.13.2.1 2002/02/01 23:32:33 dwmw2 Exp $ + * $Id: read.c,v 1.13.2.2 2003/11/02 13:51:18 dwmw2 Exp $ * */ diff -urN linux-2.4.22-bk45/fs/jffs2/readinode.c linux-2.4.22-bk46/fs/jffs2/readinode.c --- linux-2.4.22-bk45/fs/jffs2/readinode.c 2003-08-25 04:44:43.000000000 -0700 +++ linux-2.4.22-bk46/fs/jffs2/readinode.c 2003-11-04 03:32:30.000000000 -0800 @@ -31,7 +31,7 @@ * provisions above, a recipient may use your version of this file * under either the RHEPL or the GPL. * - * $Id: readinode.c,v 1.58.2.6 2002/10/10 13:18:38 dwmw2 Exp $ + * $Id: readinode.c,v 1.58.2.8 2003/11/02 13:54:20 dwmw2 Exp $ * */ @@ -468,23 +468,12 @@ struct jffs2_node_frag *frag, *frags; struct jffs2_full_dirent *fd, *fds; struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode); - /* I don't think we care about the potential race due to reading this - without f->sem. It can never get undeleted. */ - int deleted = f->inocache && !f->inocache->nlink; + int deleted; D1(printk(KERN_DEBUG "jffs2_clear_inode(): ino #%lu mode %o\n", inode->i_ino, inode->i_mode)); - /* If it's a deleted inode, grab the alloc_sem. This prevents - jffs2_garbage_collect_pass() from deciding that it wants to - garbage collect one of the nodes we're just about to mark - obsolete -- by the time we drop alloc_sem and return, all - the nodes are marked obsolete, and jffs2_g_c_pass() won't - call iget() for the inode in question. - */ - if (deleted) - down(&c->alloc_sem); - down(&f->sem); + deleted = f->inocache && !f->inocache->nlink; frags = f->fraglist; fds = f->dents; @@ -515,8 +504,5 @@ } up(&f->sem); - - if(deleted) - up(&c->alloc_sem); }; diff -urN linux-2.4.22-bk45/fs/jffs2/scan.c linux-2.4.22-bk46/fs/jffs2/scan.c --- linux-2.4.22-bk45/fs/jffs2/scan.c 2003-08-25 04:44:43.000000000 -0700 +++ linux-2.4.22-bk46/fs/jffs2/scan.c 2003-11-04 03:32:30.000000000 -0800 @@ -31,7 +31,7 @@ * provisions above, a recipient may use your version of this file * under either the RHEPL or the GPL. * - * $Id: scan.c,v 1.51.2.3 2002/07/25 20:49:06 dwmw2 Exp $ + * $Id: scan.c,v 1.51.2.4 2003/11/02 13:51:18 dwmw2 Exp $ * */ #include diff -urN linux-2.4.22-bk45/fs/jffs2/write.c linux-2.4.22-bk46/fs/jffs2/write.c --- linux-2.4.22-bk45/fs/jffs2/write.c 2003-08-25 04:44:43.000000000 -0700 +++ linux-2.4.22-bk46/fs/jffs2/write.c 2003-11-04 03:32:30.000000000 -0800 @@ -31,7 +31,7 @@ * provisions above, a recipient may use your version of this file * under either the RHEPL or the GPL. * - * $Id: write.c,v 1.30.2.1 2002/08/08 08:36:31 dwmw2 Exp $ + * $Id: write.c,v 1.30.2.2 2003/11/02 13:51:18 dwmw2 Exp $ * */ diff -urN linux-2.4.22-bk45/fs/jfs/namei.c linux-2.4.22-bk46/fs/jfs/namei.c --- linux-2.4.22-bk45/fs/jfs/namei.c 2003-11-04 03:31:36.000000000 -0800 +++ linux-2.4.22-bk46/fs/jfs/namei.c 2003-11-04 03:32:30.000000000 -0800 @@ -758,12 +758,6 @@ jfs_info("jfs_link: %s %s", old_dentry->d_name.name, dentry->d_name.name); - if (ip->i_nlink == JFS_LINK_MAX) - return -EMLINK; - - if (ip->i_nlink == 0) - return -ENOENT; - /* JFS does NOT support link() on directories */ if (S_ISDIR(ip->i_mode)) return -EPERM; @@ -773,6 +767,16 @@ down(&JFS_IP(dir)->commit_sem); down(&JFS_IP(ip)->commit_sem); + if (ip->i_nlink == JFS_LINK_MAX) { + rc = -EMLINK; + goto out; + } + + if (ip->i_nlink == 0) { + rc = -ENOENT; + goto out; + } + /* * scan parent directory for entry/freespace */ diff -urN linux-2.4.22-bk45/fs/minix/inode.c linux-2.4.22-bk46/fs/minix/inode.c --- linux-2.4.22-bk45/fs/minix/inode.c 2002-02-25 11:38:09.000000000 -0800 +++ linux-2.4.22-bk46/fs/minix/inode.c 2003-11-04 03:32:30.000000000 -0800 @@ -511,6 +511,8 @@ */ void minix_truncate(struct inode * inode) { + if (!(S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode))) + return; if (INODE_VERSION(inode) == MINIX_V1) V1_minix_truncate(inode); else diff -urN linux-2.4.22-bk45/include/asm-sparc/ioctl.h linux-2.4.22-bk46/include/asm-sparc/ioctl.h --- linux-2.4.22-bk45/include/asm-sparc/ioctl.h 2003-06-13 07:51:38.000000000 -0700 +++ linux-2.4.22-bk46/include/asm-sparc/ioctl.h 2003-11-04 03:32:31.000000000 -0800 @@ -54,7 +54,9 @@ (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) ) #define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) #define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) -#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_XSIZEMASK) +#define _IOC_SIZE(nr) \ + ((((((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) & (_IOC_WRITE|_IOC_READ)) == 0)? \ + 0: (((nr) >> _IOC_SIZESHIFT) & _IOC_XSIZEMASK)) /* ...and for the PCMCIA and sound. */ #define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT) diff -urN linux-2.4.22-bk45/include/asm-sparc64/ioctl.h linux-2.4.22-bk46/include/asm-sparc64/ioctl.h --- linux-2.4.22-bk45/include/asm-sparc64/ioctl.h 2003-06-13 07:51:38.000000000 -0700 +++ linux-2.4.22-bk46/include/asm-sparc64/ioctl.h 2003-11-04 03:32:31.000000000 -0800 @@ -54,7 +54,9 @@ (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) ) #define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK) #define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK) -#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_XSIZEMASK) +#define _IOC_SIZE(nr) \ + ((((((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK) & (_IOC_WRITE|_IOC_READ)) == 0)? \ + 0: (((nr) >> _IOC_SIZESHIFT) & _IOC_XSIZEMASK)) /* ...and for the PCMCIA and sound. */ #define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT) diff -urN linux-2.4.22-bk45/include/asm-x86_64/desc.h linux-2.4.22-bk46/include/asm-x86_64/desc.h --- linux-2.4.22-bk45/include/asm-x86_64/desc.h 2003-08-25 04:44:44.000000000 -0700 +++ linux-2.4.22-bk46/include/asm-x86_64/desc.h 2003-11-04 03:32:31.000000000 -0800 @@ -121,7 +121,7 @@ dst->base1 = PTR_MIDDLE(ptr) & 0xFF; dst->type = type; dst->p = 1; - dst->limit1 = 0xF; + dst->limit1 = (size >> 16) & 0xF; dst->base2 = (PTR_MIDDLE(ptr) >> 8) & 0xFF; dst->base3 = PTR_HIGH(ptr); } diff -urN linux-2.4.22-bk45/include/linux/fs.h linux-2.4.22-bk46/include/linux/fs.h --- linux-2.4.22-bk45/include/linux/fs.h 2003-11-04 03:31:38.000000000 -0800 +++ linux-2.4.22-bk46/include/linux/fs.h 2003-11-04 03:32:32.000000000 -0800 @@ -1395,6 +1395,7 @@ extern void iput(struct inode *); extern void force_delete(struct inode *); extern struct inode * igrab(struct inode *); +extern struct inode * ilookup(struct super_block *, unsigned long); extern ino_t iunique(struct super_block *, ino_t); typedef int (*find_inode_t)(struct inode *, unsigned long, void *); diff -urN linux-2.4.22-bk45/include/linux/pci_ids.h linux-2.4.22-bk46/include/linux/pci_ids.h --- linux-2.4.22-bk45/include/linux/pci_ids.h 2003-11-04 03:31:38.000000000 -0800 +++ linux-2.4.22-bk46/include/linux/pci_ids.h 2003-11-04 03:32:32.000000000 -0800 @@ -969,6 +969,7 @@ #define PCI_DEVICE_ID_NVIDIA_NFORCE2_IDE 0x0065 #define PCI_DEVICE_ID_NVIDIA_ITNT2 0x00A0 #define PCI_DEVICE_ID_NVIDIA_NFORCE3 0x00d1 +#define PCI_DEVICE_ID_NVIDIA_NFORCE3S 0x00e1 #define PCI_DEVICE_ID_NVIDIA_GEFORCE_SDR 0x0100 #define PCI_DEVICE_ID_NVIDIA_GEFORCE_DDR 0x0101 #define PCI_DEVICE_ID_NVIDIA_QUADRO 0x0103 diff -urN linux-2.4.22-bk45/kernel/ksyms.c linux-2.4.22-bk46/kernel/ksyms.c --- linux-2.4.22-bk45/kernel/ksyms.c 2003-11-04 03:31:39.000000000 -0800 +++ linux-2.4.22-bk46/kernel/ksyms.c 2003-11-04 03:32:32.000000000 -0800 @@ -143,6 +143,7 @@ EXPORT_SYMBOL(fget); EXPORT_SYMBOL(igrab); EXPORT_SYMBOL(iunique); +EXPORT_SYMBOL(ilookup); EXPORT_SYMBOL(iget4); EXPORT_SYMBOL(iput); EXPORT_SYMBOL(inode_init_once);