2006-10-01 19:23:25

by Pete Zaitcev

[permalink] [raw]
Subject: pcmcia: patch to fix pccard_store_cis

The ``ret'' obviously cannot be zero here, because it's initialized to the
write count and not zero.

For the complete description, see:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=207910

Author: Fabrice Bellet <[email protected]>
Signed-off-by: Pete Zaitcev <[email protected]>

--- linux-2.6.17.i686/drivers/pcmcia/socket_sysfs.c 2006-06-18 03:49:35.000000000 +0200
+++ /tmp/socket_sysfs.c 2006-10-01 19:30:09.000000000 +0200
@@ -321,7 +321,7 @@

kfree(cis);

- if (!ret) {
+ if (ret == count) {
mutex_lock(&s->skt_mutex);
if ((s->callback) && (s->state & SOCKET_PRESENT) &&
!(s->state & SOCKET_CARDBUS)) {


2006-10-02 00:31:41

by Dominik Brodowski

[permalink] [raw]
Subject: Re: pcmcia: patch to fix pccard_store_cis

Hi,

On Sun, Oct 01, 2006 at 12:21:07PM -0700, Pete Zaitcev wrote:
> The ``ret'' obviously cannot be zero here, because it's initialized to the
> write count and not zero.

Thanks -- Linus was faster, though, and already applied his patch to the
linux-2.6 git tree. Regarding the other issue seen in RH bug# 207910, I'll
try to take a look at it soon.

Dominik

2006-10-02 13:01:38

by Romano Giannetti

[permalink] [raw]
Subject: Re: pcmcia: patch to fix pccard_store_cis

On Mon, 2006-10-02 at 02:31 +0200, Dominik Brodowski wrote:
> Hi,
>
> On Sun, Oct 01, 2006 at 12:21:07PM -0700, Pete Zaitcev wrote:
> > The ``ret'' obviously cannot be zero here, because it's initialized to the
> > write count and not zero.
>
> Thanks -- Linus was faster, though, and already applied his patch to the
> linux-2.6 git tree. Regarding the other issue seen in RH bug# 207910, I'll
> try to take a look at it soon.

BTW: I had the same problem, reported here:

https://launchpad.net/distros/ubuntu/+source/pcmciautils/+bug/52510

and here:

http://lists.infradead.org/pipermail/linux-pcmcia/2006-August/003893.html

and my modem did work without IRQ problems after I got rid of .cis and
started (obsolete) cardmgr. Just as a data point more...

Romano

--
Romano Giannetti <[email protected]>

2006-11-03 16:36:53

by Dominik Brodowski

[permalink] [raw]
Subject: Re: pcmcia: patch to fix pccard_store_cis

Hi,

On Mon, Oct 02, 2006 at 03:01:34PM +0200, Romano Giannetti wrote:
> On Mon, 2006-10-02 at 02:31 +0200, Dominik Brodowski wrote:
> > Hi,
> >
> > On Sun, Oct 01, 2006 at 12:21:07PM -0700, Pete Zaitcev wrote:
> > > The ``ret'' obviously cannot be zero here, because it's initialized to the
> > > write count and not zero.
> >
> > Thanks -- Linus was faster, though, and already applied his patch to the
> > linux-2.6 git tree. Regarding the other issue seen in RH bug# 207910, I'll
> > try to take a look at it soon.
>
> BTW: I had the same problem, reported here:
>
> https://launchpad.net/distros/ubuntu/+source/pcmciautils/+bug/52510
>
> and here:
>
> http://lists.infradead.org/pipermail/linux-pcmcia/2006-August/003893.html
>
> and my modem did work without IRQ problems after I got rid of .cis and
> started (obsolete) cardmgr. Just as a data point more...

Does it work again (after re-copying the cis file to /lib/firmware) when
you use this patch?

Thanks,
Dominik

>From 4bb59569454f09e8bfc3a0f7bbdef46ccc7a51e0 Mon Sep 17 00:00:00 2001
From: Dominik Brodowski <[email protected]>
Date: Fri, 3 Nov 2006 10:54:00 -0500
Subject: [PATCH] pcmcia: start over after CIS override

When overriding the CIS, re-start the configuration of the card from
scratch. Reported and debugged by Fabrice Bellet <[email protected]>

Signed-off-by: Dominik Brodowski <[email protected]>
---
drivers/pcmcia/cs_internal.h | 2 +-
drivers/pcmcia/ds.c | 12 ++++++++----
drivers/pcmcia/socket_sysfs.c | 4 ++--
3 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/drivers/pcmcia/cs_internal.h b/drivers/pcmcia/cs_internal.h
index d6164cd..f573ea0 100644
--- a/drivers/pcmcia/cs_internal.h
+++ b/drivers/pcmcia/cs_internal.h
@@ -135,7 +135,7 @@ int pccard_get_status(struct pcmcia_sock
struct pcmcia_callback{
struct module *owner;
int (*event) (struct pcmcia_socket *s, event_t event, int priority);
- void (*requery) (struct pcmcia_socket *s);
+ void (*requery) (struct pcmcia_socket *s, int new_cis);
int (*suspend) (struct pcmcia_socket *s);
int (*resume) (struct pcmcia_socket *s);
};
diff --git a/drivers/pcmcia/ds.c b/drivers/pcmcia/ds.c
index 0f70192..3fe4d31 100644
--- a/drivers/pcmcia/ds.c
+++ b/drivers/pcmcia/ds.c
@@ -714,22 +714,26 @@ static int pcmcia_requery(struct device
return 0;
}

-static void pcmcia_bus_rescan(struct pcmcia_socket *skt)
+static void pcmcia_bus_rescan(struct pcmcia_socket *skt, int new_cis)
{
- int no_devices=0;
+ int no_devices = 0;
int ret = 0;
unsigned long flags;

/* must be called with skt_mutex held */
spin_lock_irqsave(&pcmcia_dev_list_lock, flags);
if (list_empty(&skt->devices_list))
- no_devices=1;
+ no_devices = 1;
spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags);

+ /* If this is because of a CIS override, start over */
+ if (new_cis && !no_devices)
+ pcmcia_card_remove(skt, NULL);
+
/* if no devices were added for this socket yet because of
* missing resource information or other trouble, we need to
* do this now. */
- if (no_devices) {
+ if (no_devices || new_cis) {
ret = pcmcia_card_add(skt);
if (ret)
return;
diff --git a/drivers/pcmcia/socket_sysfs.c b/drivers/pcmcia/socket_sysfs.c
index 933cd86..b005602 100644
--- a/drivers/pcmcia/socket_sysfs.c
+++ b/drivers/pcmcia/socket_sysfs.c
@@ -188,7 +188,7 @@ static ssize_t pccard_store_resource(str
(s->state & SOCKET_PRESENT) &&
!(s->state & SOCKET_CARDBUS)) {
if (try_module_get(s->callback->owner)) {
- s->callback->requery(s);
+ s->callback->requery(s, 0);
module_put(s->callback->owner);
}
}
@@ -325,7 +325,7 @@ static ssize_t pccard_store_cis(struct k
if ((s->callback) && (s->state & SOCKET_PRESENT) &&
!(s->state & SOCKET_CARDBUS)) {
if (try_module_get(s->callback->owner)) {
- s->callback->requery(s);
+ s->callback->requery(s, 1);
module_put(s->callback->owner);
}
}
--
1.4.3.3

2006-11-08 09:04:24

by Romano Giannetti

[permalink] [raw]
Subject: Re: pcmcia: patch to fix pccard_store_cis

On Fri, 2006-11-03 at 11:02 -0500, Dominik Brodowski wrote:
> Hi,
>
> On Mon, Oct 02, 2006 at 03:01:34PM +0200, Romano Giannetti wrote:

> >
> > https://launchpad.net/distros/ubuntu/+source/pcmciautils/+bug/52510
> >
> > and here:
> >
> > http://lists.infradead.org/pipermail/linux-pcmcia/2006-August/003893.html
> >
> > and my modem did work without IRQ problems after I got rid of .cis and
> > started (obsolete) cardmgr. Just as a data point more...
>
> Does it work again (after re-copying the cis file to /lib/firmware) when
> you use this patch?
>

Will try... I have upgraded to ubuntu edgy yesterday, where I think some
thing changed (it's a 2.16.17-based kernel). I had no time to test it
more thoroughly, but the change is that now (standard edgy kernel):
- only the first function is recognized
- if i start cardmgr, without the .cis, the two function are recognized
but now I *do* have the irq problem, and the modem is all-time-busy.

If tomorrow my little one sleeps a bit more, I will try to test your
patch. I hope I'll find how to apply it to that kernel, I do not want to
change it (for the first time my vaio suspend to ram and my wifi works
without ndiswrapper!).

Romano




--
Romano Giannetti <[email protected]>

2006-11-13 10:14:21

by Romano Giannetti

[permalink] [raw]
Subject: Re: pcmcia: patch to fix pccard_store_cis

(Sorry if you receive this message two times. Problems with the stupid
autodisclaimer signature of my institution).

>
> Does it work again (after re-copying the cis file to /lib/firmware) when
> you use this patch?
>
> Thanks,
> Dominik
>
> From 4bb59569454f09e8bfc3a0f7bbdef46ccc7a51e0 Mon Sep 17 00:00:00 2001
> From: Dominik Brodowski <[email protected]>
> Date: Fri, 3 Nov 2006 10:54:00 -0500
> Subject: [PATCH] pcmcia: start over after CIS override
>
> When overriding the CIS, re-start the configuration of the card from
> scratch. Reported and debugged by Fabrice Bellet <[email protected]>
>

Mr Dominik, all,

I tried your patch on top of the kernel 2.6.17.13 that
came with ubuntu
edgy (and had sufficient trouble with it, I do not know if I'll be able
to try with a recent kernel.). This message is in copy to akpm which
asked me a report on the same problem.

I applied your patch and this one:
http://lkml.org/lkml/2006/10/1/179

but the kernel continues to ignore the second function of my card.
Moreover, now the modem does not work even with the dear old cardmgr:

[17179741.804000] pcmcia: registering new device pcmcia1.1
[17179741.844000] 1.1: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[17179741.992000] setup_irq: irq handler mismatch
[17179741.992000] <c0139e82> setup_irq+0x102/0x110
<c0223250> serial8250_interrupt+0x0/0xf0
[17179741.992000] <c0139f29> request_irq+0x99/0xb0
<c0223195> serial8250_startup+0x415/0x440
[17179741.992000] <c021ec58> uart_startup+0x48/0x130
<c021fa3f> uart_open+0xbf/0x410
[17179741.992000] <c0160a13> cdev_get+0x23/0x60 <c020eba1>
tty_open+0x161/0x310
[17179741.992000] <c0160ace> chrdev_open+0x6e/0x140
<c0160a60> chrdev_open+0x0/0x140
[17179741.992000] <c0156924> __dentry_open+0xb4/0x1e0
<c0156b05> nameidata_to_filp+0x35/0x40
[17179741.992000] <c0156b60> do_filp_open+0x50/0x60
<c0156805> get_unused_fd+0x45/0xb0
[17179741.992000] <c0156bba> do_sys_open+0x4a/0xe0
<c0156c8c> sys_open+0x1c/0x20
[17179741.992000] <c0102dbb> sysenter_past_esp+0x54/0x79

Mr Morton, do you still think I should open a bug in bugzilla? Even if I
have not tested a newer kernel? It seems to me that nothing has changed
over there, and this _is_ a regression (from 2.6.13, even).

Romano

PS: can anyone point me to a tutorial on howto install a new kernael
easily on ubuntu? The procedure they point to (creating deb package,
installing, etc) are quite cumbersome. Anyway, I will try.

2006-11-13 21:54:54

by Romano Giannetti

[permalink] [raw]
Subject: Re: pcmcia: patch to fix pccard_store_cis

On Mon, 2006-11-13 at 11:12 +0100, Romano Giannetti wrote:
> I tried your patch on top of the kernel 2.6.17.13 that
> came with ubuntu
> edgy (and had sufficient trouble with it, I do not know if I'll be able
> to try with a recent kernel.). This message is in copy to akpm which
> asked me a report on the same problem.

I tried again, applying your patch after applying Linus' one (commit
933cd864a5c95c296844493b65d868b7cf7548aa in Linus git). Nothing. Only
the first function of the card is discovered.

I was trying to read the code, and I cannot find where the code in
socket_sysfs.c is supposed to loop over the various functions of the
card. Maybe there could be some problem there?

I would really like to help on this. My modem is dead from 1.6.13...

Romano




2006-11-13 23:41:30

by Daniel Ritz

[permalink] [raw]

2006-11-14 09:33:34

by Romano Giannetti

[permalink] [raw]
Subject: Re: pcmcia: patch to fix pccard_store_cis

On Tue, 2006-11-14 at 00:40 +0100, Daniel Ritz wrote:
> please also try this patch on top:
> http://zeus2.kernel.org/git/?p=linux/kernel/git/brodo/pcmcia-fixes-2.6.git;a=commitdiff;h=e6248ff596dd15bce0be4d780c60f173389b11c3
>
> (after you have "[PATCH] pcmcia: start over after CIS override"
> http://zeus2.kernel.org/git/?p=linux/kernel/git/brodo/pcmcia-fixes-2.6.git;a=commitdiff;h=f755c48254ce743a3d4c1fd6b136366c018ee5b2
> applied)

Applied, with just a bit of offset on 2.6.17.13. Compiling now. I'll be
back to you as soon as possible.

> if that doesn't work, i'll have a look at it on the weekend.

Thanks a lot.

--
Romano Giannetti --- [email protected]
Sorry for the following disclaimer, it's attached by our otugoing server
and I cannot shut it up.



--
La presente comunicación tiene carácter confidencial y es para el exclusivo uso del destinatario indicado en la misma. Si Ud. no es el destinatario indicado, le informamos que cualquier forma de distribución, reproducción o uso de esta comunicación y/o de la información contenida en la misma están estrictamente prohibidos por la ley. Si Ud. ha recibido esta comunicación por error, por favor, notifíquelo inmediatamente al remitente contestando a este mensaje y proceda a continuación a destruirlo. Gracias por su colaboración.

This communication contains confidential information. It is for the exclusive use of the intended addressee. If you are not the intended addressee, please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited by law. If you have received this communication in error, please immediately notify the sender by reply e-mail and destroy this message. Thank you for your cooperation.

2006-11-14 10:29:31

by Romano Giannetti

[permalink] [raw]
Subject: Re: pcmcia: patch to fix pccard_store_cis

On Tue, 2006-11-14 at 10:33 +0100, Romano Giannetti wrote:
> On Tue, 2006-11-14 at 00:40 +0100, Daniel Ritz wrote:
> > please also try this patch on top:
> > http://zeus2.kernel.org/git/?p=linux/kernel/git/brodo/pcmcia-fixes-2.6.git;a=commitdiff;h=e6248ff596dd15bce0be4d780c60f173389b11c3
> >
> > (after you have "[PATCH] pcmcia: start over after CIS override"
> > http://zeus2.kernel.org/git/?p=linux/kernel/git/brodo/pcmcia-fixes-2.6.git;a=commitdiff;h=f755c48254ce743a3d4c1fd6b136366c018ee5b2
> > applied)
>
> Applied, with just a bit of offset on 2.6.17.13. Compiling now. I'll be
> back to you as soon as possible.
>

Mr. Ritz,

IT WORKS. Really. The two functions are recognized and the modem
answers to minicom and kppp. I color myself happy. I will summarize the
patch and send it to the ubuntu mailing list.

Thanks again,
Romano Giannetti

--
Romano Giannetti --- [email protected]
Sorry for the following disclaimer, it's attached by our otugoing server
and I cannot shut it up.



--
La presente comunicación tiene carácter confidencial y es para el exclusivo uso del destinatario indicado en la misma. Si Ud. no es el destinatario indicado, le informamos que cualquier forma de distribución, reproducción o uso de esta comunicación y/o de la información contenida en la misma están estrictamente prohibidos por la ley. Si Ud. ha recibido esta comunicación por error, por favor, notifíquelo inmediatamente al remitente contestando a este mensaje y proceda a continuación a destruirlo. Gracias por su colaboración.

This communication contains confidential information. It is for the exclusive use of the intended addressee. If you are not the intended addressee, please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited by law. If you have received this communication in error, please immediately notify the sender by reply e-mail and destroy this message. Thank you for your cooperation.

2006-11-14 21:52:24

by Daniel Ritz

[permalink] [raw]
Subject: Re: pcmcia: patch to fix pccard_store_cis

On Tuesday 14 November 2006 11.29, Romano Giannetti wrote:
> On Tue, 2006-11-14 at 10:33 +0100, Romano Giannetti wrote:
> > On Tue, 2006-11-14 at 00:40 +0100, Daniel Ritz wrote:
> > > please also try this patch on top:
> > > http://zeus2.kernel.org/git/?p=linux/kernel/git/brodo/pcmcia-fixes-2.6.git;a=commitdiff;h=e6248ff596dd15bce0be4d780c60f173389b11c3
> > >
> > > (after you have "[PATCH] pcmcia: start over after CIS override"
> > > http://zeus2.kernel.org/git/?p=linux/kernel/git/brodo/pcmcia-fixes-2.6.git;a=commitdiff;h=f755c48254ce743a3d4c1fd6b136366c018ee5b2
> > > applied)
> >
> > Applied, with just a bit of offset on 2.6.17.13. Compiling now. I'll be
> > back to you as soon as possible.
> >
>
> Mr. Ritz,
>
> IT WORKS. Really. The two functions are recognized and the modem
> answers to minicom and kppp. I color myself happy. I will summarize the
> patch and send it to the ubuntu mailing list.
>

that's good news then.
so i guess we really want Dominik's pcmcia-fixes-2.6 tree in 2.6.19 then. akpm?

rgds
-daniel

2006-11-14 21:54:04

by Dominik Brodowski

[permalink] [raw]
Subject: Re: pcmcia: patch to fix pccard_store_cis

On Tue, Nov 14, 2006 at 10:50:41PM +0100, Daniel Ritz wrote:
> On Tuesday 14 November 2006 11.29, Romano Giannetti wrote:
> > On Tue, 2006-11-14 at 10:33 +0100, Romano Giannetti wrote:
> > > On Tue, 2006-11-14 at 00:40 +0100, Daniel Ritz wrote:
> > > > please also try this patch on top:
> > > > http://zeus2.kernel.org/git/?p=linux/kernel/git/brodo/pcmcia-fixes-2.6.git;a=commitdiff;h=e6248ff596dd15bce0be4d780c60f173389b11c3
> > > >
> > > > (after you have "[PATCH] pcmcia: start over after CIS override"
> > > > http://zeus2.kernel.org/git/?p=linux/kernel/git/brodo/pcmcia-fixes-2.6.git;a=commitdiff;h=f755c48254ce743a3d4c1fd6b136366c018ee5b2
> > > > applied)
> > >
> > > Applied, with just a bit of offset on 2.6.17.13. Compiling now. I'll be
> > > back to you as soon as possible.
> > >
> >
> > Mr. Ritz,
> >
> > IT WORKS. Really. The two functions are recognized and the modem
> > answers to minicom and kppp. I color myself happy. I will summarize the
> > patch and send it to the ubuntu mailing list.
> >
>
> that's good news then.
> so i guess we really want Dominik's pcmcia-fixes-2.6 tree in 2.6.19 then. akpm?

pcmcia-fixes-2.6 is part of pcmcia-2.6 so it already is in -mm.

Dominik

2006-11-14 22:42:26

by Andrew Morton

[permalink] [raw]
Subject: Re: pcmcia: patch to fix pccard_store_cis

On Tue, 14 Nov 2006 16:53:58 -0500
Dominik Brodowski <[email protected]> wrote:

> On Tue, Nov 14, 2006 at 10:50:41PM +0100, Daniel Ritz wrote:
> > On Tuesday 14 November 2006 11.29, Romano Giannetti wrote:
> > > On Tue, 2006-11-14 at 10:33 +0100, Romano Giannetti wrote:
> > > > On Tue, 2006-11-14 at 00:40 +0100, Daniel Ritz wrote:
> > > > > please also try this patch on top:
> > > > > http://zeus2.kernel.org/git/?p=linux/kernel/git/brodo/pcmcia-fixes-2.6.git;a=commitdiff;h=e6248ff596dd15bce0be4d780c60f173389b11c3
> > > > >
> > > > > (after you have "[PATCH] pcmcia: start over after CIS override"
> > > > > http://zeus2.kernel.org/git/?p=linux/kernel/git/brodo/pcmcia-fixes-2.6.git;a=commitdiff;h=f755c48254ce743a3d4c1fd6b136366c018ee5b2
> > > > > applied)
> > > >
> > > > Applied, with just a bit of offset on 2.6.17.13. Compiling now. I'll be
> > > > back to you as soon as possible.
> > > >
> > >
> > > Mr. Ritz,
> > >
> > > IT WORKS. Really. The two functions are recognized and the modem
> > > answers to minicom and kppp. I color myself happy. I will summarize the
> > > patch and send it to the ubuntu mailing list.
> > >
> >
> > that's good news then.
> > so i guess we really want Dominik's pcmcia-fixes-2.6 tree in 2.6.19 then. akpm?
>
> pcmcia-fixes-2.6 is part of pcmcia-2.6 so it already is in -mm.
>

He means 2.6.19. I assume that pcmcia-fixes-2.6 is destined for 2.6.19
anyway?

I'd expect 2.6.19 is 1.0 to 1.5 weeks away...