diff options
| -rw-r--r-- | drivers/block/rsxx/dma.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/block/rsxx/dma.c b/drivers/block/rsxx/dma.c index d523e9c56578..95047e111a33 100644 --- a/drivers/block/rsxx/dma.c +++ b/drivers/block/rsxx/dma.c | |||
| @@ -986,7 +986,10 @@ void rsxx_eeh_save_issued_dmas(struct rsxx_cardinfo *card) | |||
| 986 | int j; | 986 | int j; |
| 987 | int cnt; | 987 | int cnt; |
| 988 | struct rsxx_dma *dma; | 988 | struct rsxx_dma *dma; |
| 989 | struct list_head issued_dmas[card->n_targets]; | 989 | struct list_head *issued_dmas; |
| 990 | |||
| 991 | issued_dmas = kzalloc(sizeof(*issued_dmas) * card->n_targets, | ||
| 992 | GFP_KERNEL); | ||
| 990 | 993 | ||
| 991 | for (i = 0; i < card->n_targets; i++) { | 994 | for (i = 0; i < card->n_targets; i++) { |
| 992 | INIT_LIST_HEAD(&issued_dmas[i]); | 995 | INIT_LIST_HEAD(&issued_dmas[i]); |
| @@ -1025,6 +1028,8 @@ void rsxx_eeh_save_issued_dmas(struct rsxx_cardinfo *card) | |||
| 1025 | } | 1028 | } |
| 1026 | spin_unlock(&card->ctrl[i].queue_lock); | 1029 | spin_unlock(&card->ctrl[i].queue_lock); |
| 1027 | } | 1030 | } |
| 1031 | |||
| 1032 | kfree(issued_dmas); | ||
| 1028 | } | 1033 | } |
| 1029 | 1034 | ||
| 1030 | void rsxx_eeh_cancel_dmas(struct rsxx_cardinfo *card) | 1035 | void rsxx_eeh_cancel_dmas(struct rsxx_cardinfo *card) |
