public inbox for linux-serial@vger.kernel.org
 help / color / mirror / Atom feed
From: chri <chripell@gmail.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org
Subject: Re: [PATCH] max3100 driver
Date: Thu, 9 Oct 2008 08:30:28 +0200	[thread overview]
Message-ID: <cabda6420810082330i6d013e18o72eac3cb869b1e4e@mail.gmail.com> (raw)
In-Reply-To: <20080920151149.21dbad1d@lxorguk.ukuu.org.uk>

On Sat, Sep 20, 2008 at 4:11 PM, Alan Cox <alan@lxorguk.ukuu.org.uk> wrote:
>> +#define MAX3100_MAJOR 204
>> +#define MAX3100_MINOR 128
>> +/* 4 MAX3100s should be enough for everyone */
>> +#define MAX_MAX3100 4
>
> These need to be officially allocated if you need constant numbers
>

done, I followed the guide in devices.txt

>> +
>> +     etx = htons(tx);
>
> Use cpu_to_le/be or le/be_to_cpu functions, these make the intended
> endianness clear.
>
>> +     *rx = ntohs(erx);
>
> Ditto
>

done

>> +             if (rxchars > 0)
>> +                     tty_flip_buffer_push(s->port.info->port.tty);
>> +             if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
>
> If there has been a hangup the port.tty will be NULL...
>

I check against NULL. But let me ask again: the other drivers (for
example SA1100) don't do it. How they avoid the nasty NULL pointer
dereference?

>> +static void
>> +max3100_set_termios(struct uart_port *port, struct ktermios *termios,
>> +                struct ktermios *old)
>> +{
>> +     struct max3100_port_s *s = container_of(port,
>> +                                             struct max3100_port_s,
>
>> +     if (!old || (termios->c_cflag != old->c_cflag)) {
>
> This optimisation is wrong and not worth doing anyway
>

done

>
> Bits you don't support should also be cleared in the tty->termios struct
> (eg markspace you don't seem to do)
>
>

done, I completely rewrote termios handling following Alan instructions.

>> +     max3100s[i] = kzalloc(sizeof(struct max3100_port_s), GFP_KERNEL);
>> +     if (!max3100s[i]) {
>> +             dev_warn(&spi->dev,
>> +                      "kmalloc for max3100 structure %d failed!\n", i);
>
> Does this not then need to unregister the driver ?
>
>

I think no: perhaps it's just the probe of the second MAX3100 port
that failed so we cannot unegister the driver. And the user can try to
reprobe the MAX3100 via the bind entry. As I see it: driver
registration and port registration are 2 different things.

>
> Looks basically sound to me - just some minor cleanups needed.
>
> Alan
>

Sorry again for not having replied before resending the patch.


-- 
Christian Pellegrin, see http://www.evolware.org/chri/
"Real Programmers don't play tennis, or any other sport which requires
you to change clothes. Mountain climbing is OK, and Real Programmers
wear their climbing boots to work in case a mountain should suddenly
spring up in the middle of the computer room."

  parent reply	other threads:[~2008-10-09  6:30 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-20  7:20 [PATCH] max3100 driver Christian Pellegrin
2008-09-20  8:24 ` Andrew Morton
2008-09-20 10:35   ` chri
2008-09-20 13:56   ` Arjan van de Ven
2008-09-20 14:30     ` chri
2008-09-20 14:34     ` Alan Cox
2008-09-21 16:09     ` Ben Pfaff
2008-10-09  6:23   ` chri
2008-10-10 12:08   ` Christian Pellegrin
2008-09-20 14:11 ` Alan Cox
2008-09-20 14:37   ` chri
2008-10-09  6:30   ` chri [this message]
2008-10-09  9:18     ` Alan Cox
  -- strict thread matches above, loose matches on Subject: below --
2008-09-20 10:51 Michael Trimarchi

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=cabda6420810082330i6d013e18o72eac3cb869b1e4e@mail.gmail.com \
    --to=chripell@gmail.com \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox