Search Linux Wireless

Re: [linux-nfc] [PATCH 2/2] NFC: Correct outgoing frame before requeueing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Waldek,

On 09/07/2012 08:38 AM, Rymarkiewicz Waldemar wrote:
> Hi Eric,
> 
>> This patch would work for PN544, but it makes the assumption that the
>> driver will always insert/append exactly client_headroom/client_tailroom
>> bytes when xmit is called. This is not specified nor enforced so it may
>> be a little dangerous.
> 
> Do you mean that the driver can request client_head/tailroom which is a
> maximum it can use, but it does not mean that all space will be used in
> in each frame e.g. due to optional fields?  That's the only situation I
> can imagine now.

Yes, this is exactly what I mean.

> BTW I see the headroom for pn544 is 2 but it make use of 1 byte (len).
> Is that correct?

That question made me go back to have a closer look. With shdlc
currently adding the len and crc, there would be no reason for the
driver to request any headroom. If you look at the comment above
PN544_CMDS_HEADROOM, it says "Largest headroom needed for outgoing
custom commands". The headroom it requests it not for len, it is used by
the driver to insert special bytes when handling a
pn544_hci_data_exchange for a reader F gate, which is a special case.

I didn't remember that when I wrote the previous answer, and this
defeats my second suggestion. I suggest we go with my first suggestion:

- Specify that the driver xmit MUST NOT modify skb. It shall remove
anything it inserts or appends before returning from xmit.

Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux