All of lore.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 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.