RE: GetBusData returns 0 bytes read for PCMCIA- Attribute read

>1) While it is reassuring that I can read from the CIS (offset 0) using

IRP_MN_READ_CONFIG, when I read from a register at a known offset, the
value read is 0, when it should be non-zero. I also tried writing to the
offset, and then reading, but saw no change in the value. This offset has
been used in past drivers for the card, but for some reason does not seem
to be valid with the IRP_MN_XXXX_CONFIG method.

In W2K, there was a bug in the PCMCIA driver that caused IRP_MN_READ_CONFIG
to fail if the read crossed a 4K boundary (card address space). Chopping up
the logical read so it reads up to a 4K boundary and then issues another
IRP to read again starting on the 4K boundary works ok. Is there any chance
your IRP_MN_READ_CONFIG fits this description?

  • Jan

You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

The offset from which I’m reading is well under the 4K mark, and the
register is only a single byte, so it is unlikely that I’ve encountered
this problem. Where did you hear about this bug? I’ve searched Microsoft’s
web site for all of the obvious keywords, but have never read anything
about it. Of course, I’m quite familiar with Microsoft’s tendency to make
the most useful information the most difficult to find. When the function
failed because of the 4K boundary cross-over, did the function return a
failure code? Or did it simply not fill the provided buffer?

Thanks,
Curtis

On 07/31/01, “Jan Bottorff ” wrote:
> >1) While it is reassuring that I can read from the CIS (offset 0) using
> >IRP_MN_READ_CONFIG, when I read from a register at a known offset, the
> >value read is 0, when it should be non-zero. I also tried writing to the
> >offset, and then reading, but saw no change in the value. This offset has
> >been used in past drivers for the card, but for some reason does not seem
> >to be valid with the IRP_MN_XXXX_CONFIG method.
>
> In W2K, there was a bug in the PCMCIA driver that caused IRP_MN_READ_CONFIG
> to fail if the read crossed a 4K boundary (card address space). Chopping up
> the logical read so it reads up to a 4K boundary and then issues another
> IRP to read again starting on the 4K boundary works ok. Is there any chance
> your IRP_MN_READ_CONFIG fits this description?
>
> - Jan
>
>
>
> —
> You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com