Messages in this thread | | | Date | Mon, 24 Oct 2016 08:17:12 +0100 | From | Andrey Utkin <> | Subject | Re: [PATCH v2] media: solo6x10: fix lockup by avoiding delayed register write |
| |
On Mon, Oct 24, 2016 at 06:57:25AM +0200, Krzysztof Hałasa wrote: > Andrey Utkin <andrey.utkin@corp.bluecherry.net> writes: > > > --- a/drivers/media/pci/solo6x10/solo6x10.h > > +++ b/drivers/media/pci/solo6x10/solo6x10.h > > @@ -284,7 +284,10 @@ static inline u32 solo_reg_read(struct solo_dev *solo_dev, int reg) > > static inline void solo_reg_write(struct solo_dev *solo_dev, int reg, > > u32 data) > > { > > + u16 val; > > + > > writel(data, solo_dev->reg_base + reg); > > + pci_read_config_word(solo_dev->pdev, PCI_STATUS, &val); > > } > > > > static inline void solo_irq_on(struct solo_dev *dev, u32 mask) > > This is ok for now. I hope I will find some to refine this, so not all > register writes are done with the penalty - eventually.
I'm afraid it'd be hard if you don't have a hardware sample which hangs. I could in theory provide you with SSH access to my dev machine, but currently I'm in another country so managing this is hard, too.
| |