Re: [PATCH 09/14] pmbus: Reset out buf after switching pages

2022-06-28 Thread Peter Delevoryas


> On Jun 27, 2022, at 11:51 PM, Cédric Le Goater  wrote:
> 
> On 6/27/22 21:55, Peter Delevoryas wrote:
>> Signed-off-by: Peter Delevoryas 
> 
> is that a bug ?

I believe so yes, although I don’t really have any experience with
real pmbus devices. But, I would assume that when you’re switching
pages, you wouldn’t retain any remaining data from the transfer
buffer of the previous page, because that would return data
from the previous page.

Here’s the tag I should have included:

Fixes: 3746d5c15e70570b ("hw/i2c: add support for PMBus”)

> 
> 
>> ---
>>  hw/i2c/pmbus_device.c | 1 +
>>  1 file changed, 1 insertion(+)
>> diff --git a/hw/i2c/pmbus_device.c b/hw/i2c/pmbus_device.c
>> index 62885fa6a1..efddc36fd9 100644
>> --- a/hw/i2c/pmbus_device.c
>> +++ b/hw/i2c/pmbus_device.c
>> @@ -1088,6 +1088,7 @@ static int pmbus_write_data(SMBusDevice *smd, uint8_t 
>> *buf, uint8_t len)
>>if (pmdev->code == PMBUS_PAGE) {
>>  pmdev->page = pmbus_receive8(pmdev);
>> +pmdev->out_buf_len = 0;
>>  return 0;
>>  }
>>  
> 



Re: [PATCH 09/14] pmbus: Reset out buf after switching pages

2022-06-28 Thread Cédric Le Goater

On 6/27/22 21:55, Peter Delevoryas wrote:

Signed-off-by: Peter Delevoryas 


is that a bug ?



---
  hw/i2c/pmbus_device.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/hw/i2c/pmbus_device.c b/hw/i2c/pmbus_device.c
index 62885fa6a1..efddc36fd9 100644
--- a/hw/i2c/pmbus_device.c
+++ b/hw/i2c/pmbus_device.c
@@ -1088,6 +1088,7 @@ static int pmbus_write_data(SMBusDevice *smd, uint8_t 
*buf, uint8_t len)
  
  if (pmdev->code == PMBUS_PAGE) {

  pmdev->page = pmbus_receive8(pmdev);
+pmdev->out_buf_len = 0;
  return 0;
  }
  





[PATCH 09/14] pmbus: Reset out buf after switching pages

2022-06-27 Thread Peter Delevoryas
Signed-off-by: Peter Delevoryas 
---
 hw/i2c/pmbus_device.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/i2c/pmbus_device.c b/hw/i2c/pmbus_device.c
index 62885fa6a1..efddc36fd9 100644
--- a/hw/i2c/pmbus_device.c
+++ b/hw/i2c/pmbus_device.c
@@ -1088,6 +1088,7 @@ static int pmbus_write_data(SMBusDevice *smd, uint8_t 
*buf, uint8_t len)
 
 if (pmdev->code == PMBUS_PAGE) {
 pmdev->page = pmbus_receive8(pmdev);
+pmdev->out_buf_len = 0;
 return 0;
 }
 
-- 
2.30.2