From: Tsozik <tsozik@yahoo.com>
To: Pete Zaitcev <zaitcev@redhat.com>
Cc: Greg Kroah-Hartman <gregkh@suse.de>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/1] mct_u232: IOCTL implementation
Date: Sun, 26 Dec 2010 14:14:44 -0800 (PST) [thread overview]
Message-ID: <874477.56229.qm@web65712.mail.ac4.yahoo.com> (raw)
Pete,
My apology, reading Greg's post I realized that 2.6.35 (distributed with Fedora 14) is indeed outdated. I just checked out 2.6.37-rc7 tree and saw references to get_icount function. I will definetely address your concern,
Thank you again,
Vadim.
--- On Sun, 12/26/10, Tsozik <tsozik@yahoo.com> wrote:
> From: Tsozik <tsozik@yahoo.com>
> Subject: Re: [PATCH 1/1] mct_u232: IOCTL implementation
> To: "Pete Zaitcev" <zaitcev@redhat.com>
> Cc: "Greg Kroah-Hartman" <gregkh@suse.de>, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
> Date: Sunday, December 26, 2010, 2:41 PM
> Pete,
>
> Many thanks for your comment/concern. I borrowed an
> TIOCGICOUNT implementation from usb/serial/io_ti.c:
>
> case TIOCGICOUNT:
>
> dbg("%s - (%d) TIOCGICOUNT RX=%d, TX=%d", __func__,
>
> port->number,
> edge_port->icount.rx, edge_port->icount.tx);
> if
> (copy_to_user((void __user *)arg,
> &edge_port->icount,
>
>
> sizeof(edge_port->icount)))
>
> return -EFAULT;
>
> return 0;
> }
>
> There are 2 similar TIOCGICOUNT implementations listed in
>
> ark3116.c
> io_edgeport.c
> io_ti.c
> mos7720.c
> mos7840.c
> ti_usb_3410_5052.c
>
> files under usb/serial/ directory. One based on io_ti.c and
> another based on io_edgeport.c. I borrowed one from io_ti.c,
> since it looked more effecient to me. I searched for any
> mention of get_icount function under linux-2.6.35 and didn't
> find any file which declared or called this function:
>
> [vtsozik@SR71 linux-2.6.35]$ find . -type f -name '*.[c,h]'
> | xargs grep get_icount
> [vtsozik@SR71 linux-2.6.35]$
>
> I'm wondering if you could give me a bit more information
> on this. Otherwise I would really prefer to proceed with
> something that already exists and tested. If by some reason
> you believe that alternative implementation from
> io_edgeport.c (please see code snippet below) should be used
> please let me know. Again I didn't see any reason for extra
> copy.
>
> case TIOCGICOUNT:
>
> cnow = edge_port->icount;
>
> memset(&icount, 0, sizeof(icount));
>
> icount.cts = cnow.cts;
>
> icount.dsr = cnow.dsr;
>
> icount.rng = cnow.rng;
>
> icount.dcd = cnow.dcd;
>
> icount.rx = cnow.rx;
>
> icount.tx = cnow.tx;
>
> icount.frame = cnow.frame;
>
> icount.overrun = cnow.overrun;
>
> icount.parity = cnow.parity;
>
> icount.brk = cnow.brk;
>
> icount.buf_overrun = cnow.buf_overrun;
>
>
> dbg("%s (%d) TIOCGICOUNT RX=%d, TX=%d",
>
>
> __func__, port->number, icount.rx, icount.tx);
> if
> (copy_to_user((void __user *)arg, &icount,
> sizeof(icount)))
>
> return -EFAULT;
>
> return 0;
> }
>
> Thank you in advance,
> Vadim.
>
> --- On Sun, 12/26/10, Pete Zaitcev <zaitcev@redhat.com>
> wrote:
>
> > From: Pete Zaitcev <zaitcev@redhat.com>
> > Subject: Re: [PATCH 1/1] mct_u232: IOCTL
> implementation
> > To: "Tsozik" <tsozik@yahoo.com>
> > Cc: "Greg Kroah-Hartman" <gregkh@suse.de>,
> linux-usb@vger.kernel.org,
> linux-kernel@vger.kernel.org
> > Date: Sunday, December 26, 2010, 12:49 PM
> > On Sat, 25 Dec 2010 21:39:39 -0800
> > (PST)
> > Tsozik <tsozik@yahoo.com>
> > wrote:
> >
> > > +++ mct_u232.c 2010-12-25 21:44:57.714640343
> > -0500
> > > +static int mct_u232_ioctl(struct tty_struct
> > *tty, struct file *file,
> > > +
> > unsigned int cmd,
> > unsigned long arg)
> > > +{
> > > + case TIOCGICOUNT:
> > > +
> > dbg("%s - (%d) TIOCGICOUNT RX=%d, TX=%d",
> __func__,
> > > +
> > port->number,
> > mct_u232_port->icount.rx,
> mct_u232_port->icount.tx);
> > > +
> > if (copy_to_user((void __user *)arg,
> > &mct_u232_port->icount,
> > > +
> > sizeof(mct_u232_port->icount)))
> > > +
> > return -EFAULT;
> >
> > This looks suspicious. Didn't we relocate the
> machinery for
> > TIOCGICOUNT
> > into a generic place? Please examine how
> ->get_icount
> > works before
> > hand-rolling the ioctl.
> >
> > -- Pete
> >
>
>
>
>
next reply other threads:[~2010-12-26 22:14 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-26 22:14 Tsozik [this message]
2010-12-27 0:28 ` [PATCH 1/1] mct_u232: IOCTL implementation Pete Zaitcev
-- strict thread matches above, loose matches on Subject: below --
2010-12-26 5:39 Tsozik
2010-12-26 17:49 ` Pete Zaitcev
2010-12-26 19:41 ` Tsozik
2010-12-26 18:41 ` Greg KH
2010-12-26 19:51 ` Tsozik
2010-12-26 21:30 ` Randy Dunlap
2010-12-26 22:01 ` Tsozik
2010-12-26 22:03 ` Jesper Juhl
2010-12-26 23:31 ` Tsozik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=874477.56229.qm@web65712.mail.ac4.yahoo.com \
--to=tsozik@yahoo.com \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=zaitcev@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.