RE: 2.4.16 alsa 0.5.12 mixer ioctl problem

From: Alex Riesen (riesen@synopsys.COM)
Date: Wed Nov 28 2001 - 02:16:01 EST


Thanks, your patch fixed the problem.
BTW, 2.5.[0,1-pre1] contain this 'broken' code:
Maybe it is silently fixed at some other play,
but just for everyones information.

2.5.1-pre1:
struct inode * proc_get_inode(struct super_block * sb, int ino,
                                struct proc_dir_entry * de)
{
        struct inode * inode;

        /*
         * Increment the use count so the dir entry can't disappear.
         */
        de_get(de);
#if 1
/* shouldn't ever happen */
if (de && de->deleted)
printk("proc_iget: using deleted entry %s, count=%d\n", de->name,
atomic_read(&de->count));
#endif

        inode = iget(sb, ino);
        if (!inode)
                goto out_fail;

        inode->u.generic_ip = (void *) de;
        if (de) {
                if (de->mode) {
                        inode->i_mode = de->mode;
                        inode->i_uid = de->uid;
                        inode->i_gid = de->gid;
                }
                if (de->size)
                        inode->i_size = de->size;
                if (de->nlink)
                        inode->i_nlink = de->nlink;
                if (de->owner)
                        __MOD_INC_USE_COUNT(de->owner);
                if (de->proc_iops) <<<<<<<<
                        inode->i_op = de->proc_iops; <<<<<<<<
                if (de->proc_fops) <<<<<<<<
                        inode->i_fop = de->proc_fops; <<<<<<<<
-- this line looks like error, what has init_special_inode to do with
de->proc_fops?
                else if (S_ISBLK(de->mode)||S_ISCHR(de->mode)||S_ISFIFO(de->mode))
                        init_special_inode(inode,de->mode,kdev_t_to_nr(de->rdev));
        }

out:
        return inode;

out_fail:
        de_put(de);
        goto out;
}

> -----Original Message-----
> From: Jochen Eisinger [mailto:jochen.eisinger@gmx.de]
> Sent: Tuesday, November 27, 2001 09:05
> To: Alex Riesen
> Cc: linux-kernel@vger.kernel.org
> Subject: Re: 2.4.16 alsa 0.5.12 mixer ioctl problem
>
>
> Hi!
>
> This appears to be a problem with fs/proc/inode.c. Reverting to the
> version up to 2.4.15-pre6 will solve your problem.
>
> regards
> -- jochen
>
> Alex Riesen wrote:
>
> > Hi, all
> >
> > just tried to compile the mentioned alsa drivers under 2.4.16.
> > Mixer doesnt work, yes. It compiles, installs, loads. And
> > any program trying to open mixer (through libasound) get EINVAL.
> >
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Nov 30 2001 - 21:00:30 EST