Re: Re: Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work

2010-01-09 Thread Komuro
Hi,

>> >I have a bad feeling about this... might it be that cistpl.c isn't thread
>> >safe at all?
>> >
>> >Could you test out this patch, please?
>> 

With this patch, the 3c589_cs driver is not loaded at all.
So I think this patch is not correct.

>pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0
>pcmcia_socket pcmcia_socket0: cs: memory probe 0xd200-0xd40f:


___
Linux PCMCIA reimplementation list
http://lists.infradead.org/mailman/listinfo/linux-pcmcia


Re: Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work

2010-01-09 Thread Dominik Brodowski
Hey,

On Sat, Jan 09, 2010 at 06:05:26PM +0900, Komuro wrote:
> >I have a bad feeling about this... might it be that cistpl.c isn't thread
> >safe at all?
> >
> >Could you test out this patch, please?
> 
> 
> OK. I will test it.

Thanks!

> By the way , do you think the pcmcia_core API is MP safe ?

Yes I do.

Best,
Dominik

___
Linux PCMCIA reimplementation list
http://lists.infradead.org/mailman/listinfo/linux-pcmcia


Re: Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work

2010-01-09 Thread Komuro
Hi,

>I have a bad feeling about this... might it be that cistpl.c isn't thread
>safe at all?
>
>Could you test out this patch, please?


OK. I will test it.

By the way , do you think the pcmcia_core API is MP safe ?

I need to learn the difference between spin_lock and mutex_lock.



___
Linux PCMCIA reimplementation list
http://lists.infradead.org/mailman/listinfo/linux-pcmcia


Re: Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work

2009-12-20 Thread Komuro

Hi,

I think the resource problem is fixed.

but if I connect the 3Com 3c562 and boot the linux,
the mac address of 3c562 sometimes becomes ff:ff:ff:ff:ff:ff.
the mac address becomes normal after replugging it.

>pcmcia 0.0: pcmcia: registering new device pcmcia0.0
>pcmcia 0.1: pcmcia: registering new device pcmcia0.1
>0.1: ttyS0 at I/O 0x3f8 (irq = 3) is a 16550A
>3c589_cs 0.0: pcmcia: could not parse base and rmask0 of CIS
>eth0: 3Com 3c562, io 0x300, irq 3, hw_addr ff:ff:ff:ff:ff:ff
>  32K FIFO split 3:5 Rx:Tx, auto xcvr

Best Regards
Komuro

>Hey,
>
>On Sun, Dec 20, 2009 at 03:11:05PM +0900, Komuro wrote:
>> >Any chance you could bisect it further? Also, does "lspci -vvv",
>> >"/proc/ioports" and/or "/proc/iomem" change between -git7 and -git8?
>> >
>
>Could you test this patch, please?
>
>Best,
>   Dominik
>
>From: Dominik Brodowski 
>Date: Sun, 20 Dec 2009 10:04:56 +0100
>Subject: [PATCH] resources: fix call to alignf() in allocate_resource()
>
>The second parameter to alignf() in allocate_resource() must
>reflect what new resource is attempted to be allocated, else
>functions like pcibios_align_resource() (at least on x86) or
>pcmcia_align() can't work correctly.
>
>Commit 1e5ad9679016275d422e36b12a98b0927d76f556 broke this by
>setting the "new" resource until we're about to return success.
>To keep the resource untouched when allocate_resource() fails,
>a "tmp" resource is introduced.
>
>CC: Linus Torvalds 
>CC: Yinghai Lu 
>CC: Bjorn Helgaas 
>CC: Jesse Barnes 
>Signed-off-by: Dominik Brodowski 
>
>diff --git a/kernel/resource.c b/kernel/resource.c
>index dc15686..af96c1e 100644
>--- a/kernel/resource.c
>+++ b/kernel/resource.c
>@@ -308,37 +308,37 @@ static int find_resource(struct resource *root, struct 
resource *new,
>void *alignf_data)
> {
>   struct resource *this = root->child;
>-  resource_size_t start, end;
>+  struct resource tmp = *new;
> 
>-  start = root->start;
>+  tmp.start = root->start;
>   /*
>* Skip past an allocated resource that starts at 0, since the 
> assignment
>-   * of this->start - 1 to new->end below would cause an underflow.
>+   * of this->start - 1 to tmp->end below would cause an underflow.
>*/
>   if (this && this->start == 0) {
>-  start = this->end + 1;
>+  tmp.start = this->end + 1;
>   this = this->sibling;
>   }
>   for(;;) {
>   if (this)
>-  end = this->start - 1;
>+  tmp.end = this->start - 1;
>   else
>-  end = root->end;
>-  if (start < min)
>-  start = min;
>-  if (end > max)
>-  end = max;
>-  start = ALIGN(start, align);
>+  tmp.end = root->end;
>+  if (tmp.start < min)
>+  tmp.start = min;
>+  if (tmp.end > max)
>+  tmp.end = max;
>+  tmp.start = ALIGN(tmp.start, align);
>   if (alignf)
>-  alignf(alignf_data, new, size, align);
>-  if (start < end && end - start >= size - 1) {
>-  new->start = start;
>-  new->end = start + size - 1;
>+  alignf(alignf_data, &tmp, size, align);
>+  if (tmp.start < tmp.end && tmp.end - tmp.start >= size - 1) {
>+  new->start = tmp.start;
>+  new->end = tmp.start + size - 1;
>   return 0;
>   }
>   if (!this)
>   break;
>-  start = this->end + 1;
>+  tmp.start = this->end + 1;
>   this = this->sibling;
>   }
>   return -EBUSY;


___
Linux PCMCIA reimplementation list
http://lists.infradead.org/mailman/listinfo/linux-pcmcia


Re: Re: Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work

2009-12-19 Thread Dominik Brodowski
Dear Komuro,

Any chance you could bisect it further? Also, does "lspci -vvv",
"/proc/ioports" and/or "/proc/iomem" change between -git7 and -git8?

Best,
Dominik

On Sat, Dec 19, 2009 at 04:16:47PM +0900, Komuro wrote:
> 
> Hi,
> 
> 2.6.32-git7(2009/12/11) works and 2.6.32-git8(2009/12/12) does not work.
> 
> So I think "'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbar
> nes"
> introduces this problem.
> 
> 
> authorLinus Torvalds   
>   Fri, 11 Dec 2009 20:18:16 + (12:18 -0800)
> committer Linus Torvalds   
>   Fri, 11 Dec 2009 20:18:16 + (12:18 -0800)
> commit11bd04f6f35621193311c32e0721142b073a7794
> tree  00979740582bb26e8d3756bf3526c85f19f66a46tree | snapshot
> parent4e2ccdb0409146f8cf64a11b6ef82a9c928ced2acommit | diff
> parent9e0b5b2c447ad0caa075a5cfef86def62e1782ffcommit | diff
> Merge branch 'linux-next' of git://git./linux/kernel/git/jbarnes/pci-2.6
> 
> * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.
> 6: (109 commits)
>   PCI: fix coding style issue in pci_save_state()
>   PCI: add pci_request_acs
>   PCI: fix BUG_ON triggered by logical PCIe root port removal
>   PCI: remove ifdefed pci_cleanup_aer_correct_error_status
>   PCI: unconditionally clear AER uncorr status register during cleanup
>   x86/PCI: claim SR-IOV BARs in pcibios_allocate_resource
>   PCI: portdrv: remove redundant definitions
>   PCI: portdrv: remove unnecessary struct pcie_port_data
>   PCI: portdrv: minor cleanup for pcie_port_device_register
>   PCI: portdrv: add missing irq cleanup
>   PCI: portdrv: enable device before irq initialization
>   PCI: portdrv: cleanup service irqs initialization
>   PCI: portdrv: check capabilities first
>   PCI: portdrv: move PME capability check
>   PCI: portdrv: remove redundant pcie type calculation
>   PCI: portdrv: cleanup pcie_device registration
>   PCI: portdrv: remove redundant pcie_port_device_probe
>   PCI: Always set prefetchable base/limit upper32 registers
>   PCI: read-modify-write the pcie device control register when initiating pcie
>  flr
>   PCI: show dma_mask bits in /sys
>   ...
> 
> >>
> >>> The mac address of 3c562 becomes ff:ff:ff:ff:ff:ff
> >>> and no startup message appear for serial.
> >>
> >>Ouch.
> >>
> >>> This card works with kernel-2.6.32-git7.
> >>
> >>Hm, there didn't happen much in PCMCIA land between git7 and git10:
> >>
> >># git log --pretty=oneline 3ef884b4c04e857c283cc77ca70ad8f638d94b0e..f405425
> 3
> >2e96dda5506eb76badea322f2ae4731c drivers/pcmcia/ include/pcmcia/
> >>11bd04f6f35621193311c32e0721142b073a7794 Merge branch 'linux-next' of git://
> g
> >it.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
> >>15ea76d407d560f985224b65fe59c9db01692a0d pccard: configure CLS on attach
> >>
> >>which only seems relevant for CardBus. Nonetheless: could you try commenting
> >>out the line "pci_set_cacheline_size(dev)" in
> >>drivers/pcmcia/cardbus.c:cardbus_config_irq_and_cls() ?
> >>
> >
> >Even if I revert the "pccard: configure CLS on attach" manually,
> >3com 3c562 still does not work.
> >
> >Best Regards
> >Komuro
> >
> >
> >
> >___
> >Linux PCMCIA reimplementation list
> >http://lists.infradead.org/mailman/listinfo/linux-pcmcia
> 

___
Linux PCMCIA reimplementation list
http://lists.infradead.org/mailman/listinfo/linux-pcmcia


Re: Re: Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work

2009-12-18 Thread Komuro

Hi,

2.6.32-git7(2009/12/11) works and 2.6.32-git8(2009/12/12) does not work.

So I think "'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbar
nes"
introduces this problem.


author  Linus Torvalds   
Fri, 11 Dec 2009 20:18:16 + (12:18 -0800)
committer   Linus Torvalds   
Fri, 11 Dec 2009 20:18:16 + (12:18 -0800)
commit  11bd04f6f35621193311c32e0721142b073a7794
tree00979740582bb26e8d3756bf3526c85f19f66a46tree | snapshot
parent  4e2ccdb0409146f8cf64a11b6ef82a9c928ced2acommit | diff
parent  9e0b5b2c447ad0caa075a5cfef86def62e1782ffcommit | diff
Merge branch 'linux-next' of git://git./linux/kernel/git/jbarnes/pci-2.6

* 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.
6: (109 commits)
  PCI: fix coding style issue in pci_save_state()
  PCI: add pci_request_acs
  PCI: fix BUG_ON triggered by logical PCIe root port removal
  PCI: remove ifdefed pci_cleanup_aer_correct_error_status
  PCI: unconditionally clear AER uncorr status register during cleanup
  x86/PCI: claim SR-IOV BARs in pcibios_allocate_resource
  PCI: portdrv: remove redundant definitions
  PCI: portdrv: remove unnecessary struct pcie_port_data
  PCI: portdrv: minor cleanup for pcie_port_device_register
  PCI: portdrv: add missing irq cleanup
  PCI: portdrv: enable device before irq initialization
  PCI: portdrv: cleanup service irqs initialization
  PCI: portdrv: check capabilities first
  PCI: portdrv: move PME capability check
  PCI: portdrv: remove redundant pcie type calculation
  PCI: portdrv: cleanup pcie_device registration
  PCI: portdrv: remove redundant pcie_port_device_probe
  PCI: Always set prefetchable base/limit upper32 registers
  PCI: read-modify-write the pcie device control register when initiating pcie
 flr
  PCI: show dma_mask bits in /sys
  ...

>>
>>> The mac address of 3c562 becomes ff:ff:ff:ff:ff:ff
>>> and no startup message appear for serial.
>>
>>Ouch.
>>
>>> This card works with kernel-2.6.32-git7.
>>
>>Hm, there didn't happen much in PCMCIA land between git7 and git10:
>>
>># git log --pretty=oneline 3ef884b4c04e857c283cc77ca70ad8f638d94b0e..f405425
3
>2e96dda5506eb76badea322f2ae4731c drivers/pcmcia/ include/pcmcia/
>>11bd04f6f35621193311c32e0721142b073a7794 Merge branch 'linux-next' of git://
g
>it.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
>>15ea76d407d560f985224b65fe59c9db01692a0d pccard: configure CLS on attach
>>
>>which only seems relevant for CardBus. Nonetheless: could you try commenting
>>out the line "pci_set_cacheline_size(dev)" in
>>drivers/pcmcia/cardbus.c:cardbus_config_irq_and_cls() ?
>>
>
>Even if I revert the "pccard: configure CLS on attach" manually,
>3com 3c562 still does not work.
>
>Best Regards
>Komuro
>
>
>
>___
>Linux PCMCIA reimplementation list
>http://lists.infradead.org/mailman/listinfo/linux-pcmcia


___
Linux PCMCIA reimplementation list
http://lists.infradead.org/mailman/listinfo/linux-pcmcia


Re: Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work

2009-12-16 Thread Komuro
Hi

>
>> The mac address of 3c562 becomes ff:ff:ff:ff:ff:ff
>> and no startup message appear for serial.
>
>Ouch.
>
>> This card works with kernel-2.6.32-git7.
>
>Hm, there didn't happen much in PCMCIA land between git7 and git10:
>
># git log --pretty=oneline 3ef884b4c04e857c283cc77ca70ad8f638d94b0e..f4054253
2e96dda5506eb76badea322f2ae4731c drivers/pcmcia/ include/pcmcia/
>11bd04f6f35621193311c32e0721142b073a7794 Merge branch 'linux-next' of git://g
it.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
>15ea76d407d560f985224b65fe59c9db01692a0d pccard: configure CLS on attach
>
>which only seems relevant for CardBus. Nonetheless: could you try commenting
>out the line "pci_set_cacheline_size(dev)" in
>drivers/pcmcia/cardbus.c:cardbus_config_irq_and_cls() ?
>

Even if I revert the "pccard: configure CLS on attach" manually,
3com 3c562 still does not work.

Best Regards
Komuro



___
Linux PCMCIA reimplementation list
http://lists.infradead.org/mailman/listinfo/linux-pcmcia


Re: Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work

2009-12-14 Thread Wolfram Sang

> >> The mac address of 3c562 becomes ff:ff:ff:ff:ff:ff
> >> and no startup message appear for serial.
> >> 
> >> This card works with kernel-2.6.32-git7.
> 
> It seems the pcmcia card can't access the io-range 0x100-0x3ff,
> so serial can't allocate io-port resource.

That sounds familiar. I think I had a card with a similar phenomenon, but that
was months ago... Maybe I'll have time this week to dig this card out of
wherever it is now :)

-- 
Pengutronix e.K.   | Wolfram Sang|
Industrial Linux Solutions | http://www.pengutronix.de/  |


signature.asc
Description: Digital signature
___
Linux PCMCIA reimplementation list
http://lists.infradead.org/mailman/listinfo/linux-pcmcia


Re: Re: [BUG? kernel 2.6.32-git10] 3com 3c562 multifunction card does not work

2009-12-14 Thread Komuro
Hi,

>> 3com 3c562 multifunction card does not work
>> with kernel 2.6.32-git10.
>> 
>> The mac address of 3c562 becomes ff:ff:ff:ff:ff:ff
>> and no startup message appear for serial.
>> 
>> This card works with kernel-2.6.32-git7.

It seems the pcmcia card can't access the io-range 0x100-0x3ff,
so serial can't allocate io-port resource.


>Sounds like a good candidate for git-bisect :)
>

OK.
but I don't have enough time on weekdays.

Best Regards
Komuro


___
Linux PCMCIA reimplementation list
http://lists.infradead.org/mailman/listinfo/linux-pcmcia