public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "christophe barbé" <christophe.barbe.ml@online.fr>
To: Jeff Garzik <jgarzik@mandrakesoft.com>
Cc: "christophe barbé" <christophe.barbe.ml@online.fr>,
	"Marcelo Tosatti" <marcelo@conectiva.com.br>,
	lkml <linux-kernel@vger.kernel.org>,
	"Andrew Morton" <akpm@zip.com.au>
Subject: Re: [PATCH] 3c59x and resume
Date: Mon, 25 Mar 2002 23:39:43 -0500	[thread overview]
Message-ID: <20020326043943.GR1853@ufies.org> (raw)
In-Reply-To: <20020323161647.GA11471@ufies.org> <3C9FC76F.6050900@mandrakesoft.com> <20020326014050.GP1853@ufies.org> <3C9FF4B3.3070408@mandrakesoft.com>

[-- Attachment #1: Type: text/plain, Size: 4127 bytes --]

On Mon, Mar 25, 2002 at 11:10:27PM -0500, Jeff Garzik wrote:
> christophe barbé wrote:
> 
> >On Mon, Mar 25, 2002 at 07:57:19PM -0500, Jeff Garzik wrote:
> >
> >>This patch causes module defaults to be reused -- potentially incorrectly.
> >>
> >
> >Wrong. How can the fact that a suspend/resume cycle increment the id be
> >worst than the fact that the same cycle return idx to the previous
> >state?
> >
> >The argument you have against this patch is WRONG.
> >
> >You think about NICs in a PCI slot. 
> >That's changed the day the cardbus support was moved from pcmcia to the
> >today implementation.
> >You can't expect cardbus user to stop using the suspend mode because you
> >expect your id to be attributed one time (that doesn't even make sense).
> >
> >I agree that this patch is not a full fix (I said it in my original
> >post) but I disagree that it does any bad things. I would be interested
> >to learn about a real case ?
> >
> 
> Just exactly what I described.
> 
> The current system increments the card id on each ->probe, and does not 
> decrement on ->remove, which makes sense if you are hotplugging one card 
> and then another -- you don't want to reuse the same module options for 
> a different card.  Your patch changes this logic to, "oh wait, let's 
> stop doing this and have a special case once we reach MAX_UNITS"  Thus, 
> you could potentially reuse the final slot when that was not the desired 
> action.

Ok I really appreciate your work but here I can't believe I read what I
read. Please reread the patch :

+       if (vp->card_idx == vortex_cards_found - 1)
+         vortex_cards_found--;

It is NOT a special case when we reach MAX_UNITS.
It is a special case when we remove the last inserted card.
Even in your case where the order is important it still works.

vortex_cards_found is used to attribute the next ID.

> Note that I am not defending this method of card_idx usage, because 
> different use cases have different requirements (as indeed you do).  But 
> your patch fixes one thing at the expense of another.

No and I hope you will agree with me now.
It fixes one thing at the expense of nothing.

> I just had another idea.  Create a new module option 'default_options', 
> a single integer value.  Instead of assigning "-1" to options when we 
> run out of MAX_UNITS ids, assign the default_options value.

This would be bloat code.
IMHO MAX_UNITS is a proof of unadequate design here. 

Options should be set on a per-device basis by a userland tool which has
the required information to set them in a persistent way.

Is it not the purpose of ethtool ?
By the way the only problem in this tool is its name. It solves a
general problem for a particular subset : network device. Why not the
same tool for all modules ?

I will try to ethtoolize the vortex driver.

> >>This is a personal solution, that might live on temporary as an 
> >>outside-the-tree patch... but we cannot apply this to the stable kernel.
> >>
> >>I agree the card idx is wrong on remove.  Insert and remove a 3c59x 
> >>cardbus card several times, and you will lose your module options too. 
> >>
> >
> >NO -- If I can remove/insert suspend/remove my card as I want I ever get
> >the same ID. 
> >
> "same id" is vague.  Same PCI id?  Sure, but that doesn't mean it's the 
> same card, from the driver's point of view. The driver really needs to 
> keep track of whether or not a new ->probe indicates a card whose MAC 
> address we have seen before.

Here by 'same' ID I mean the same id used in the driver to attribute the
option. But we agree (I hope) that it is not a good way to attribute
options to a given card.

> To reiterate another issue, however, suspend/resume should _not_ be 
> calling the code added in your patch.  That's a non-3c59x bug somewhere.

Good Point. 

Christophe

>    Jeff

-- 
Christophe Barbé <christophe.barbe@ufies.org>
GnuPG FingerPrint: E0F6 FADF 2A5C F072 6AF8  F67A 8F45 2F1E D72C B41E

A qui sait comprendre, peu de mots suffisent.
(Intelligenti pauca.) 

[-- Attachment #2: Type: application/pgp-signature, Size: 241 bytes --]

  reply	other threads:[~2002-03-26  4:40 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-23 16:16 [PATCH] 3c59x and resume christophe barbé
2002-03-23 18:39 ` Andrew Morton
2002-03-23 20:06   ` Robert Love
2002-03-23 22:44     ` christophe barbé
2002-03-24  8:07       ` Greg KH
2002-03-24 14:25         ` christophe barbé
2002-03-25 18:01           ` Greg KH
2002-03-25 18:19             ` christophe barbé
2002-03-25 19:11               ` Greg KH
2002-03-25 20:27                 ` christophe barbé
2002-03-25 20:58                 ` christophe barbé
2002-03-25 11:34     ` Joachim Breuer
2002-03-25 11:53       ` Xavier Bestel
2002-03-25 21:31         ` Joachim Breuer
2002-03-25 19:44     ` Bill Davidsen
2002-03-25 20:16       ` christophe barbé
2002-03-26  0:57 ` Jeff Garzik
2002-03-26  1:40   ` christophe barbé
2002-03-26  4:10     ` Jeff Garzik
2002-03-26  4:39       ` christophe barbé [this message]
2002-03-26  4:50         ` Andrew Morton
2002-03-26 16:56           ` christophe barbé
2002-03-26 16:57             ` Jeff Garzik

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=20020326043943.GR1853@ufies.org \
    --to=christophe.barbe.ml@online.fr \
    --cc=akpm@zip.com.au \
    --cc=jgarzik@mandrakesoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo@conectiva.com.br \
    /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