Re: pci_generic_config_write32() access size problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 28, 2015 at 5:08 PM, Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote:
> Hi Rob,
>
> Russell pointed out a problem with 1f94a94f67e1 ("PCI: Add generic config
> accessors").  pci_generic_config_write32() does a read/modify/write if the
> size is less than 32 bits, so I think we have problem if this is used with
> 8- or 16-bit registers that contain RW1C bits.  Any thoughts on how we can
> fix this?

My series didn't change access sizes unless I made a made a mistake
somewhere, so the problem should have existed before.

Is it known addresses we need to deal with? We could do special case
handling of certain addresses to mask out RW1C bits. This could be in
the generic functions or in wrappers around the generic functions.
There's already some similar examples of special address handling
IIRC.

Rob
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux