- if (tx_len == 16) {
- tx[0] = MIFARE_CL_CMD_WRITE16;
- tx[1] = page & 0xff;
-
- ret = rfid_layer2_transceive(ph->l2h, RFID_MIFARE_FRAME, tx,
- 2, rx, &rx_len,
- MIFARE_CL_WRITE_FWT, 0);
- if (ret < 0)
- return ret;
-
- ret = rfid_layer2_transceive(ph->l2h, RFID_MIFARE_FRAME, tx_data,
- tx_len, rx, &rx_len,
- MIFARE_CL_WRITE_FWT, 0);
- if (ret < 0)
- return ret;
-
- if (rx[0] != MIFARE_UL_RESP_ACK)
- return -EIO;
-
- ret = rfid_layer2_transceive(ph->l2h, RFID_MIFARE_FRAME, tx,
- sizeof(tx), rx, &rx_len,
- MIFARE_CL_WRITE_FWT, 0);
- if (ret < 0)
- return ret;
-
- if (rx[0] != MIFARE_UL_RESP_ACK)
- return -EIO;
-
- } else if (tx_len == 4) {
-
- tx[0] = MIFARE_CL_CMD_WRITE4;
- tx[1] = page & 0xff;
-
- memcpy(tx+2, tx_data, 4);