diff options
author | Jan Glauber <jang@linux.vnet.ibm.com> | 2010-05-17 04:00:19 -0400 |
---|---|---|
committer | Martin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com> | 2010-05-17 04:00:17 -0400 |
commit | cc961d400e06e78c7aa39aeab1f001eb8f76ef90 (patch) | |
tree | 75a8f9668c6b723e637cc18b6264a3fac4a87112 /drivers/s390/net | |
parent | d0c9d4a89fff4352b20ae8704b84cd99a8372f66 (diff) |
[S390] qdio: remove API wrappers
Remove qdio API wrappers used by qeth and replace them by calling the
appropriate functions directly.
Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/net')
-rw-r--r-- | drivers/s390/net/qeth_core_main.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/s390/net/qeth_core_main.c b/drivers/s390/net/qeth_core_main.c index 3ba738b2e271..28f71349fdec 100644 --- a/drivers/s390/net/qeth_core_main.c +++ b/drivers/s390/net/qeth_core_main.c | |||
@@ -1292,13 +1292,14 @@ int qeth_qdio_clear_card(struct qeth_card *card, int use_halt) | |||
1292 | QETH_QDIO_CLEANING)) { | 1292 | QETH_QDIO_CLEANING)) { |
1293 | case QETH_QDIO_ESTABLISHED: | 1293 | case QETH_QDIO_ESTABLISHED: |
1294 | if (card->info.type == QETH_CARD_TYPE_IQD) | 1294 | if (card->info.type == QETH_CARD_TYPE_IQD) |
1295 | rc = qdio_cleanup(CARD_DDEV(card), | 1295 | rc = qdio_shutdown(CARD_DDEV(card), |
1296 | QDIO_FLAG_CLEANUP_USING_HALT); | 1296 | QDIO_FLAG_CLEANUP_USING_HALT); |
1297 | else | 1297 | else |
1298 | rc = qdio_cleanup(CARD_DDEV(card), | 1298 | rc = qdio_shutdown(CARD_DDEV(card), |
1299 | QDIO_FLAG_CLEANUP_USING_CLEAR); | 1299 | QDIO_FLAG_CLEANUP_USING_CLEAR); |
1300 | if (rc) | 1300 | if (rc) |
1301 | QETH_DBF_TEXT_(TRACE, 3, "1err%d", rc); | 1301 | QETH_DBF_TEXT_(TRACE, 3, "1err%d", rc); |
1302 | qdio_free(CARD_DDEV(card)); | ||
1302 | atomic_set(&card->qdio.state, QETH_QDIO_ALLOCATED); | 1303 | atomic_set(&card->qdio.state, QETH_QDIO_ALLOCATED); |
1303 | break; | 1304 | break; |
1304 | case QETH_QDIO_CLEANING: | 1305 | case QETH_QDIO_CLEANING: |
@@ -3810,10 +3811,18 @@ static int qeth_qdio_establish(struct qeth_card *card) | |||
3810 | 3811 | ||
3811 | if (atomic_cmpxchg(&card->qdio.state, QETH_QDIO_ALLOCATED, | 3812 | if (atomic_cmpxchg(&card->qdio.state, QETH_QDIO_ALLOCATED, |
3812 | QETH_QDIO_ESTABLISHED) == QETH_QDIO_ALLOCATED) { | 3813 | QETH_QDIO_ESTABLISHED) == QETH_QDIO_ALLOCATED) { |
3813 | rc = qdio_initialize(&init_data); | 3814 | rc = qdio_allocate(&init_data); |
3814 | if (rc) | 3815 | if (rc) { |
3816 | atomic_set(&card->qdio.state, QETH_QDIO_ALLOCATED); | ||
3817 | goto out; | ||
3818 | } | ||
3819 | rc = qdio_establish(&init_data); | ||
3820 | if (rc) { | ||
3815 | atomic_set(&card->qdio.state, QETH_QDIO_ALLOCATED); | 3821 | atomic_set(&card->qdio.state, QETH_QDIO_ALLOCATED); |
3822 | qdio_free(CARD_DDEV(card)); | ||
3823 | } | ||
3816 | } | 3824 | } |
3825 | out: | ||
3817 | kfree(out_sbal_ptrs); | 3826 | kfree(out_sbal_ptrs); |
3818 | kfree(in_sbal_ptrs); | 3827 | kfree(in_sbal_ptrs); |
3819 | kfree(qib_param_field); | 3828 | kfree(qib_param_field); |