|
@@ -525,7 +525,12 @@ static int ds_write_bit(struct ds_device *dev, u8 bit)
|
|
|
int err;
|
|
|
struct ds_status st;
|
|
|
|
|
|
- err = ds_send_control(dev, COMM_BIT_IO | COMM_IM | (bit) ? COMM_D : 0, 0);
|
|
|
+ /* Set COMM_ICP to write without a readback. Note, this will
|
|
|
+ * produce one time slot, a down followed by an up with COMM_D
|
|
|
+ * only determing the timing.
|
|
|
+ */
|
|
|
+ err = ds_send_control(dev, COMM_BIT_IO | COMM_IM | COMM_ICP |
|
|
|
+ (bit ? COMM_D : 0), 0);
|
|
|
if (err)
|
|
|
return err;
|
|
|
|