Message ID | 20230411171521.29678-1-andriy.shevchenko@linux.intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 976d3c6778e99390c6d854d140b746d12ea18a51 |
Headers | show |
Series | [v1,1/2] selftests: gpio: gpio-sim: Fix BUG: test FAILED due to recent change | expand |
On Tue, Apr 11, 2023 at 08:15:20PM +0300, Andy Shevchenko wrote:
> From: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr>
Ah, Mirsad, I need your SoB, if you are okay with the change.
Otherwise I have to drop your authorship.
On 11. 04. 2023. 19:47, Andy Shevchenko wrote: > On Tue, Apr 11, 2023 at 08:15:20PM +0300, Andy Shevchenko wrote: >> From: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr> > > Ah, Mirsad, I need your SoB, if you are okay with the change. > Otherwise I have to drop your authorship Hi, Andy, Sorry I needed to vent my beer before doing this test: [root@pc-mtodorov linux_torvalds]# uname -rms Linux 6.2.0-mglru-kmlk-andy-09238-gd2980d8d8265 x86_64 [root@pc-mtodorov linux_torvalds]# tools/testing/selftests/gpio/gpio-sim.sh 1. chip_name and dev_name attributes 1.1. Chip name is communicated to user 1.2. chip_name returns 'none' if the chip is still pending 1.3. Device name is communicated to user 2. Creating and configuring simulated chips 2.1. Default number of lines is 1 2.2. Number of lines can be specified 2.3. Label can be set 2.4. Label can be left empty 2.5. Line names can be configured 2.6. Line config can remain unused if offset is greater than number of lines 2.7. Line configfs directory names are sanitized 2.8. Multiple chips can be created 2.9. Can't modify settings when chip is live 2.10. Can't create line items when chip is live 2.11. Probe errors are propagated to user-space 2.12. Cannot enable a chip without any GPIO banks 2.13. Duplicate chip labels are not allowed 2.14. Lines can be hogged 3. Controlling simulated chips 3.1. Pull can be set over sysfs 3.2. Pull can be read from sysfs 3.3. Incorrect input in sysfs is rejected 3.4. Can't write to value 4. Simulated GPIO chips are functional 4.1. Values can be read from sysfs 4.2. Bias settings work correctly cat: /sys/devices/platform/gpio-sim.0/gpiochip18/sim_gpio0/value: No such file or directory tools/testing/selftests/gpio/gpio-sim.sh: line 393: test: =: unary operator expected bias setting does not work GPIO gpio-sim test FAIL [root@pc-mtodorov linux_torvalds]# git apply ../gpio-sim-andy2.patch [root@pc-mtodorov linux_torvalds]# tools/testing/selftests/gpio/gpio-sim.sh 1. chip_name and dev_name attributes 1.1. Chip name is communicated to user 1.2. chip_name returns 'none' if the chip is still pending 1.3. Device name is communicated to user 2. Creating and configuring simulated chips 2.1. Default number of lines is 1 2.2. Number of lines can be specified 2.3. Label can be set 2.4. Label can be left empty 2.5. Line names can be configured 2.6. Line config can remain unused if offset is greater than number of lines 2.7. Line configfs directory names are sanitized 2.8. Multiple chips can be created 2.9. Can't modify settings when chip is live 2.10. Can't create line items when chip is live 2.11. Probe errors are propagated to user-space 2.12. Cannot enable a chip without any GPIO banks 2.13. Duplicate chip labels are not allowed 2.14. Lines can be hogged 3. Controlling simulated chips 3.1. Pull can be set over sysfs 3.2. Pull can be read from sysfs 3.3. Incorrect input in sysfs is rejected 3.4. Can't write to value 4. Simulated GPIO chips are functional 4.1. Values can be read from sysfs 4.2. Bias settings work correctly GPIO gpio-sim test PASS [root@pc-mtodorov linux_torvalds]# So the issue was reproduced again on the above mentioned kernel, and the patch fixes it. I will never trust an unexecuted line again, so help me the Lord Above. Yes, you have both: Tested-by: Mirsad Goran Todorovac <mirsad.todorovac@alu.unizg.hr> Signed-off-by: Mirsad Goran Todorovac <mirsad.todorovac@alu.unizg.hr> Thank you for considering my bug report. It is great to assist your professional team. This issue wasn't triggered by the 6.1.15 mglru kernel, and I am wondering what could be the difference? (With the same gpio-sim.sh and patch.) Best regards, Mirsad
On Tue, Apr 11, 2023 at 7:15 PM Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote: > > From: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr> > > According to Mirsad the gpio-sim.sh test appears to FAIL in a wrong way > due to missing initialisation of shell variables: > > 4.2. Bias settings work correctly > cat: /sys/devices/platform/gpio-sim.0/gpiochip18/sim_gpio0/value: No such file or directory > ./gpio-sim.sh: line 393: test: =: unary operator expected > bias setting does not work > GPIO gpio-sim test FAIL > > After this change the test passed: > > 4.2. Bias settings work correctly > GPIO gpio-sim test PASS > > His testing environment is AlmaLinux 8.7 on Lenovo desktop box with > the latest Linux kernel based on v6.2: > > Linux 6.2.0-mglru-kmlk-andy-09238-gd2980d8d8265 x86_64 > > Suggested-by: Mirsad Todorovac <mirsad.todorovac@alu.unizg.hr> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > --- > tools/testing/selftests/gpio/gpio-sim.sh | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/tools/testing/selftests/gpio/gpio-sim.sh b/tools/testing/selftests/gpio/gpio-sim.sh > index 9f539d454ee4..fa2ce2b9dd5f 100755 > --- a/tools/testing/selftests/gpio/gpio-sim.sh > +++ b/tools/testing/selftests/gpio/gpio-sim.sh > @@ -389,6 +389,9 @@ create_chip chip > create_bank chip bank > set_num_lines chip bank 8 > enable_chip chip > +DEVNAME=`configfs_dev_name chip` > +CHIPNAME=`configfs_chip_name chip bank` > +SYSFS_PATH="/sys/devices/platform/$DEVNAME/$CHIPNAME/sim_gpio0/value" > $BASE_DIR/gpio-mockup-cdev -b pull-up /dev/`configfs_chip_name chip bank` 0 > test `cat $SYSFS_PATH` = "1" || fail "bias setting does not work" > remove_chip chip > -- > 2.40.0.1.gaa8946217a0b > Queued for fixes. Thanks! Bart
diff --git a/tools/testing/selftests/gpio/gpio-sim.sh b/tools/testing/selftests/gpio/gpio-sim.sh index 9f539d454ee4..fa2ce2b9dd5f 100755 --- a/tools/testing/selftests/gpio/gpio-sim.sh +++ b/tools/testing/selftests/gpio/gpio-sim.sh @@ -389,6 +389,9 @@ create_chip chip create_bank chip bank set_num_lines chip bank 8 enable_chip chip +DEVNAME=`configfs_dev_name chip` +CHIPNAME=`configfs_chip_name chip bank` +SYSFS_PATH="/sys/devices/platform/$DEVNAME/$CHIPNAME/sim_gpio0/value" $BASE_DIR/gpio-mockup-cdev -b pull-up /dev/`configfs_chip_name chip bank` 0 test `cat $SYSFS_PATH` = "1" || fail "bias setting does not work" remove_chip chip