Message ID | 20240814061011.43545-1-qiuxu.zhuo@intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [1/1] EDAC/igen6: Fix conversion of system address to physical memory address | expand |
On Wed, Aug 14, 2024 at 02:10:11PM +0800, Qiuxu Zhuo wrote: > The conversion of system address to physical memory address (as viewed by > the memory controller) by igen6_edac is incorrect when the system address > is above the TOM (Total amount Of populated physical Memory) for Elkhart > Lake and Ice Lake (Neural Network Processor). Fix this conversion. > > Fixes: 10590a9d4f23 ("EDAC/igen6: Add EDAC driver for Intel client SoCs using IBECC") > Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com> > --- > drivers/edac/igen6_edac.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/edac/igen6_edac.c b/drivers/edac/igen6_edac.c > index 0fe75eed8973..189a2fc29e74 100644 > --- a/drivers/edac/igen6_edac.c > +++ b/drivers/edac/igen6_edac.c > @@ -316,7 +316,7 @@ static u64 ehl_err_addr_to_imc_addr(u64 eaddr, int mc) > if (igen6_tom <= _4GB) > return eaddr + igen6_tolud - _4GB; > > - if (eaddr < _4GB) > + if (eaddr >= igen6_tom) > return eaddr + igen6_tolud - igen6_tom; > > return eaddr; > -- > 2.17.1 > > <formletter> This is not the correct way to submit patches for inclusion in the stable kernel tree. Please read: https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html for how to do this properly. </formletter>
Hi Greg, > From: Greg KH <gregkh@linuxfoundation.org> > [...] > > This is not the correct way to submit patches for inclusion in the stable kernel > tree. Please read: > https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html > for how to do this properly. Thank you for the reminder. I read the link above. To avoid making the same mistake next time
diff --git a/drivers/edac/igen6_edac.c b/drivers/edac/igen6_edac.c index 0fe75eed8973..189a2fc29e74 100644 --- a/drivers/edac/igen6_edac.c +++ b/drivers/edac/igen6_edac.c @@ -316,7 +316,7 @@ static u64 ehl_err_addr_to_imc_addr(u64 eaddr, int mc) if (igen6_tom <= _4GB) return eaddr + igen6_tolud - _4GB; - if (eaddr < _4GB) + if (eaddr >= igen6_tom) return eaddr + igen6_tolud - igen6_tom; return eaddr;
The conversion of system address to physical memory address (as viewed by the memory controller) by igen6_edac is incorrect when the system address is above the TOM (Total amount Of populated physical Memory) for Elkhart Lake and Ice Lake (Neural Network Processor). Fix this conversion. Fixes: 10590a9d4f23 ("EDAC/igen6: Add EDAC driver for Intel client SoCs using IBECC") Signed-off-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com> --- drivers/edac/igen6_edac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)