pio_it.c: Permit repeated calls to PIO_ConfigureIt()

The original code assumes that calls to PIO_ConfigureIt() are only
made once e.g. during board start-up.  Hoewever, we call those
at USB SetConfiguration time, when we know which particular hardware
function we are supposed to perform.   This means that after the host
has issued SetConfiguration more than a given number of times, the
code will assert() due to overflow of the static array.

Let's check if we already have allocated an array slot for a given pin
and reuse that allocated array bucket rather than allocating new ones
for the same pin.

Change-Id: I0c46d4b51eeebd58a8786d65e31e7a84e65b6a8e
Related: OS#4454
This commit is contained in:
Harald Welte
2020-03-13 15:28:40 +01:00
parent a625ef0d9b
commit e42492971e
2 changed files with 19 additions and 7 deletions

Binary file not shown.