[S390] tape_3590.c: introduce missing kfree

The semantic match that finds the problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)

@r exists@
expression E,E1;
statement S;
position p1,p2,p3;
@@

E =@p1 \(kmalloc\|kcalloc\|kzalloc\)(...)
... when != E = E1
if (E == NULL || ...) S
... when != E = E1
if@p2 (...) {
... when != kfree(E)
}
... when != E = E1
kfree@p3(E);

@forall@
position r.p2;
expression r.E;
int E1 != 0;
@@

* if@p2 (...) {
... when != kfree(E)
when strict
return E1; }

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

authored by Julia Lawall and committed by Martin Schwidefsky 1783e60f b57838ea

+1 -1
+1 -1
drivers/s390/char/tape_3590.c
··· 1598 1598 rc = tape_3590_read_dev_chars(device, rdc_data); 1599 1599 if (rc) { 1600 1600 DBF_LH(3, "Read device characteristics failed!\n"); 1601 - goto fail_kmalloc; 1601 + goto fail_rdc_data; 1602 1602 } 1603 1603 rc = tape_std_assign(device); 1604 1604 if (rc)