Commit 143274c9 authored by James Simmons's avatar James Simmons

Merge maxwell.earthlink.net:/usr/src/linus-2.5

into maxwell.earthlink.net:/usr/src/fbdev-2.5
parents 7b8989c7 b84ba662
......@@ -11,9 +11,13 @@ obj-$(CONFIG_ACPI) += acpi/
# PnP must come after ACPI since it will eventually need to check if acpi
# was used and do nothing if so
obj-$(CONFIG_PNP) += pnp/
# char/ comes before serial/ etc so that the VT console is the boot-time
# default.
obj-y += char/
obj-y += serial/
obj-$(CONFIG_PARPORT) += parport/
obj-y += base/ char/ block/ misc/ net/ media/
obj-y += base/ block/ misc/ net/ media/
obj-$(CONFIG_NUBUS) += nubus/
obj-$(CONFIG_ATM) += atm/
obj-$(CONFIG_IDE) += ide/
......
......@@ -337,6 +337,9 @@ struct ext2_dir_entry_2 * ext2_find_entry (struct inode * dir,
struct ext2_inode_info *ei = EXT2_I(dir);
ext2_dirent * de;
if (npages == 0)
goto out;
/* OFFSET_CACHE */
*res_page = NULL;
......
......@@ -141,8 +141,11 @@ static void ext3_handle_error(struct super_block *sb)
printk (KERN_CRIT "Remounting filesystem read-only\n");
sb->s_flags |= MS_RDONLY;
} else {
journal_t *journal = EXT3_SB(sb)->s_journal;
EXT3_SB(sb)->s_mount_opt |= EXT3_MOUNT_ABORT;
journal_abort(EXT3_SB(sb)->s_journal, -EIO);
if (journal)
journal_abort(journal, -EIO);
}
ext3_commit_super(sb, es, 1);
}
......@@ -1622,11 +1625,15 @@ static void ext3_commit_super (struct super_block * sb,
struct ext3_super_block * es,
int sync)
{
struct buffer_head *sbh = EXT3_SB(sb)->s_sbh;
if (!sbh)
return;
es->s_wtime = cpu_to_le32(get_seconds());
BUFFER_TRACE(EXT3_SB(sb)->s_sbh, "marking dirty");
mark_buffer_dirty(EXT3_SB(sb)->s_sbh);
BUFFER_TRACE(sbh, "marking dirty");
mark_buffer_dirty(sbh);
if (sync)
sync_dirty_buffer(EXT3_SB(sb)->s_sbh);
sync_dirty_buffer(sbh);
}
......
......@@ -398,10 +398,7 @@ static inline int do_follow_link(struct dentry *dentry, struct nameidata *nd)
goto loop;
if (current->total_link_count >= 40)
goto loop;
if (need_resched()) {
current->state = TASK_RUNNING;
schedule();
}
cond_resched();
err = security_inode_follow_link(dentry, nd);
if (err)
goto loop;
......
......@@ -440,7 +440,7 @@ int ncp_ioctl(struct inode *inode, struct file *filp,
oldprivatelen = server->priv.len;
server->auth.auth_type = user.auth_type;
server->auth.object_name_len = user.object_name_len;
server->auth.object_name = user.object_name;
server->auth.object_name = newname;
server->priv.len = 0;
server->priv.data = NULL;
/* leave critical section */
......
......@@ -1162,8 +1162,10 @@ static BOOL ldm_ldmdb_add (u8 *data, int len, struct ldmdb *ldb)
return FALSE;
}
if (!ldm_parse_vblk (data, len, vb))
if (!ldm_parse_vblk (data, len, vb)) {
kfree(vb);
return FALSE; /* Already logged */
}
/* Put vblk into the correct list. */
switch (vb->type) {
......
#ifndef __LINUX_COMPILER_H
#define __LINUX_COMPILER_H
#if (__GNUC__ > 3) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1)
#define inline __inline__ __attribute__((always_inline))
#define __inline__ __inline__ __attribute__((always_inline))
#define __inline __inline__ __attribute__((always_inline))
#endif
/* Somewhere in the middle of the GCC 2.96 development cycle, we implemented
a mechanism by which the user can annotate likely branch directions and
expect the blocks to be reordered appropriately. Define __builtin_expect
......
......@@ -433,7 +433,7 @@ static inline void pnp_remove_card(struct pnp_card *card) { ; }
static inline int pnp_add_card_device(struct pnp_card *card, struct pnp_dev *dev) { return -ENODEV; }
static inline void pnp_remove_card_device(struct pnp_dev *dev) { ; }
static inline int pnp_add_card_id(struct pnp_id *id, struct pnp_card *card) { return -ENODEV; }
static inline struct pnp_dev * pnp_request_card_device(struct pnp_card_link *clink, const char * id, struct pnp_dev * from) { return -ENODEV; }
static inline struct pnp_dev * pnp_request_card_device(struct pnp_card_link *clink, const char * id, struct pnp_dev * from) { return NULL; }
static inline void pnp_release_card_device(struct pnp_dev * dev) { ; }
static inline int pnp_register_card_driver(struct pnp_card_driver * drv) { return -ENODEV; }
static inline void pnp_unregister_card_driver(struct pnp_card_driver * drv) { ; }
......
......@@ -45,7 +45,7 @@ config SWAP
This option allows you to choose whether you want to have support
for socalled swap devices or swap files in your kernel that are
used to provide more virtual memory than the actual RAM present
in your computer. If unusre say Y.
in your computer. If unsure say Y.
config SYSVIPC
bool "System V IPC"
......
......@@ -188,7 +188,7 @@ void __init fork_init(unsigned long mempages)
task_struct_cachep =
kmem_cache_create("task_struct",
sizeof(struct task_struct),0,
SLAB_HWCACHE_ALIGN, NULL, NULL);
SLAB_MUST_HWCACHE_ALIGN, NULL, NULL);
if (!task_struct_cachep)
panic("fork_init(): cannot create task_struct SLAB cache");
......
......@@ -106,6 +106,7 @@ static int __pdflush(struct pdflush_work *my_work)
schedule();
if (current->flags & PF_FREEZE) {
refrigerator(PF_IOTHREAD);
spin_lock_irq(&pdflush_lock);
continue;
}
......
......@@ -119,8 +119,10 @@ struct ircomm_cb *ircomm_open(notify_t *notify, __u8 service_type, int line)
} else
ret = ircomm_open_tsap(self);
if (ret < 0)
if (ret < 0) {
kfree(self);
return NULL;
}
self->service_type = service_type;
self->line = line;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment