Ticket #7802: ps2_standard_mouse.patch

File ps2_standard_mouse.patch, 1.4 KB (added by brunexgeek, 11 years ago)

Suggested "fix" for message "ps2: strange mouse data, x-delta ###, trying resync"

  • src/add-ons/kernel/bus_managers/ps2/ps2_standard_mouse.cpp

    diff --git src/add-ons/kernel/bus_managers/ps2/ps2_standard_mouse.cpp src/add-ons/kernel/bus_managers/ps2/ps2_standard_mouse.cpp
    index e9082af..2143f72 100644
    int32  
    207207standard_mouse_handle_int(ps2_dev *dev)
    208208{
    209209    standard_mouse_cookie *cookie = (standard_mouse_cookie*)dev->cookie;
    210     const uint8 data = dev->history[0].data;
     210    uint8 data = dev->history[0].data;
    211211
    212212    TRACE("ps2: standard mouse: %1x\t%1x\t%1x\t%1x\t%1x\t%1x\t%1x\t%1x\n",
    213213                data >> 7 & 1, data >> 6 & 1, data >> 5 & 1,
    standard_mouse_handle_int(ps2_dev *dev)  
    229229        int xDelta
    230230            = ((cookie->buffer[0] & 0x10) ? 0xFFFFFF00 : 0) | data;
    231231        if (xDelta < -100 || xDelta > 100) {
    232             INFO("ps2: strange mouse data, x-delta %d, trying resync\n",
     232            TRACE("ps2: strange mouse data, x-delta %d, adjusting value\n",
    233233                xDelta);
    234             cookie->packet_index = 0;
    235             return B_HANDLED_INTERRUPT;
     234            data = 100;
    236235        }
    237236    }
    238237    if (cookie->packet_index == 2) {
    239238        int yDelta
    240239            = ((cookie->buffer[0] & 0x20) ? 0xFFFFFF00 : 0) | data;
    241240        if (yDelta < -100 || yDelta > 100) {
    242             INFO("ps2: strange mouse data, y-delta %d, trying resync\n",
     241            TRACE("ps2: strange mouse data, y-delta %d, adjusting value\n",
    243242                yDelta);
    244             cookie->packet_index = 0;
    245             return B_HANDLED_INTERRUPT;
     243            data = 100;
    246244        }
    247245    }
    248246