mfcl_write(struct rfid_protocol_handle *ph, unsigned int page,
unsigned char *tx_data, unsigned int tx_len)
{
- unsigned int i;
unsigned char tx[18];
unsigned char rx[1];
unsigned int rx_len = sizeof(rx);
unsigned int *optlen)
{
int ret = -EINVAL;
- u_int16_t atqa;
+ u_int8_t atqa[2];
unsigned int atqa_size = sizeof(atqa);
unsigned int *size = optval;
*optlen = sizeof(*size);
ret = 0;
rfid_layer2_getopt(ph->l2h, RFID_OPT_14443A_ATQA,
- (void *) &atqa, &atqa_size);
- if (atqa == 0x0004)
+ atqa, &atqa_size);
+ if (atqa[0] == 0x04 && atqa[1] == 0x00)
*size = 1024;
- else if (atqa == 0x0002)
+ else if (atqa[0] == 0x02 && atqa[1] == 0x00)
*size = 4096;
else
ret = -EIO;